BOOSTER QUIZ 3-3-1
상품 테이블에서 상품ID가 AMB인 데이터를 조회하시오.
•
대상 테이블: 상품(Item)
•
조회 조건: ItemId가 AMB인 상품만 조회
•
조회 컬럼: Item의 모든 컬럼
ItemId ItemNm ItemCat ItemSizeCd HotColdCd LaunchDt
------ ------------ ------- ---------- --------- ----------
AMB Americano(B) COF BIG HOT 2019-01-01
SQL
복사
풀이
BOOSTER QUIZ 3-3-2
상품카테고리가 음료인 상품 정보를 조회하시오.
•
대상 테이블: 상품(Item)
•
조회 조건: ItemCat가 BEV인 Item
•
조회 컬럼: ItemId, ItemNm, ItemCat
ItemId ItemNm ItemCat
------ ----------------- -------
CITR Yuzu Ade(R) BEV
HCHB Hot Chocolate(B) BEV
HCHR Hot Chocolate(R) BEV
LEMR Lemonade(R) BEV
ZAMB Grapefruit Ade(R) BEV
SQL
복사
풀이
BOOSTER QUIZ 3-4-1
상품카테고리가 커피이면서 빅사이이즈이고 HOT인 상품목록을 조회해주세요.
•
대상 테이블: 상품(Item)
•
조회 조건: ItemCat(상품카테고리)가 COF(커피)이면서 ItemSizeCd는 BIG이고 HotColdCd는 HOT인 데이터
•
조회 컬럼: ItemId, ItemNm, ItemCat, ItemSizeCd, HotColdCd
ItemId ItemNm ItemCat ItemSizeCd HotColdCd
------ ------------- ------- ---------- ---------
AMB Americano(B) COF BIG HOT
CLB Cafe Latte(B) COF BIG HOT
SQL
복사
풀이
BOOSTER QUIZ 3-4-2
레귤러 사이즈 상품 중에, 상품카테고리가 음료이거나 베이커리인 상품을 뽑아주세요.
•
대상 테이블: 상품(Item)
•
조회 조건: ItemSizeCd가 REG(Regular)이면서, ItemCat가 BEV(음료)이거나(OR) BKR(베이커리)인 데이터
•
조회 컬럼: ItemId, ItemNm, ItemCat, ItemSizeCd, HotColdCd
ItemId ItemNm ItemCat ItemSizeCd HotColdCd
------ ------------------- ------- ---------- ---------
CITR Yuzu Ade(R) BEV REG COLD
HCHR Hot Chocolate(R) BEV REG HOT
LEMR Lemonade(R) BEV REG COLD
ZAMB Grapefruit Ade(R) BEV REG COLD
BGLR Bagel(R) BKR REG HOT
BMFR Blueberry Muffin(R) BKR REG COLD
CMFR Chocolate Muffin(R) BKR REG COLD
MACA Macaron(R) BKR REG HOT
SQL
복사
풀이
BOOSTER QUIZ 3-6-1
상품ID가 BMFR 이상이면서 CLR 이하인 상품을 보여주세요.
•
대상 테이블: 상품(Item)
•
조회 조건: ItemId가 BMFR 이상(>=) 이면서 CLR 이하(<=)인 데이터
•
조회 컬럼: ItemId, ItemNm, ItemCat
ItemId ItemNm ItemCat
------ ------------------- -------
BMFR Blueberry Muffin(R) BKR
CITR Yuzu Ade(R) BEV
CLB Cafe Latte(B) COF
CLR Cafe Latte(R) COF
SQL
복사
풀이
BOOSTER QUIZ 3-6-2
뜨거운 상품중에, 명칭이 '(R)'로 끝나는 상품을 보여주세요.
•
대상 테이블: 상품(Item)
•
조회 조건: HotColdCd가 HOT이면서 ItemNm이 '(R)'로 끝나는 데이터(LIKE 사용)
•
조회 컬럼: ItemId, ItemNm, ItemCat
ItemId ItemNm ItemCat HotColdCd
------ ---------------- ------- ---------
AMR Americano(R) COF HOT
BGLR Bagel(R) BKR HOT
CLR Cafe Latte(R) COF HOT
EINR Einspanner(R) COF HOT
FLTR Flat White(R) COF HOT
HCHR Hot Chocolate(R) BEV HOT
MACA Macaron(R) BKR HOT
SQL
복사
풀이
BOOSTER QUIZ 3-6-3
상품사이즈가 BIG 인 상품중에, 상품카테고리가 COF이거나, BEV이면서, 상품명이 'Iced'로 시작하지 않는 데이터를 보여주세요.
•
대상 테이블: 상품(Item)
•
조회 조건: ItemSizeCd가 BIG이고, ItemCat가 COF 또는 BEV 이면서, ItemNm이 'Iced'로 시작하지 않는 데이터
•
조회 컬럼: ItemId, ItemNm, ItemCat
•
추가 조건: ItemCat에 대한 조건을 IN 조건자로 해결하시오.
ItemId ItemNm ItemCat
------ ---------------- -------
AMB Americano(B) COF
CLB Cafe Latte(B) COF
HCHB Hot Chocolate(B) BEV
SQL
복사
풀이
BOOSTER QUIZ 3-7-1
상품종류가 커피이면서 뜨거운 상품 목록을 보여주세요. 상품명으로 내림차순 정렬해주세요.
•
대상 테이블: 상품(Item)
•
조회 조건: ItemCat가 COF(커피)이면서, HotColdCd가 HOT인 데이터
•
조회 컬럼: ItemId, ItemNm, ItemCat ,HotColdCd
•
정렬 기준: ItemNm 으로 내림차순 정렬하시오.
ItemId ItemNm ItemCat HotColdCd
------ ------------- ------- ---------
FLTR Flat White(R) COF HOT
EINR Einspanner(R) COF HOT
CLR Cafe Latte(R) COF HOT
CLB Cafe Latte(B) COF HOT
AMR Americano(R) COF HOT
AMB Americano(B) COF HOT
SQL
복사
풀이
BOOSTER QUIZ 3-7-2
상품ID가 A 이상이면서 C이하인 상품을 보여주세요. HOT/COLD구분으로 먼저 오름차순한 다음에, ItemCat로 오름차순해서 보여주세요.
•
대상 테이블: 상품(Item)
•
조회 조건: ItemId가 A 이상(>=), C 이하(<=)인 데이터
•
조회 컬럼: ItemId, ItemNm, ItemCat ,HotColdCd
•
정렬 기준: HotColdCd로 오름차순 한 후에, ItemCat로 오름차순 정렬하시오.
ItemId ItemNm ItemCat HotColdCd
------ ------------------- ------- ---------
BMFR Blueberry Muffin(R) BKR COLD
BGLR Bagel(R) BKR HOT
AMB Americano(B) COF HOT
AMR Americano(R) COF HOT
SQL
복사
풀이
BOOSTER QUIZ 3-9-1
상품카테고리가 베이커리인 상품의 정보를 보여주세요. 컬럼명을 한글로 처리해주세요.
•
대상 테이블: 상품(Item)
•
조회 조건: ItemCat가 BKR(베이커리)인 데이터
•
조회 컬럼: ItemId, ItemNm, ItemCat ,HotColdCd
•
추가 조건: 아래와 같이 컬럼명을 별칭 처리해서 보여주시오.
◦
ItemId->상품ID, ItemNm->상품명, ItemCat->상품종류, HotColdCd->냉/온구분
•
정렬 기준: 상품명으로 내림차순 정렬하시오.
상품ID 상품명 상품종류 냉/온구분
------ ------------------- -------- ---------
MACA Macaron(R) BKR HOT
CMFR Chocolate Muffin(R) BKR COLD
BMFR Blueberry Muffin(R) BKR COLD
BGLR Bagel(R) BKR HOT
SQL
복사
풀이
BOOSTER QUIZ 3-10-1
아래 링크를 참고해 함수의 기능을 적으시오.
•
LENGTH:
•
LPAD:
•
RPAD:
•
REPEAT:
•
RIGHT:
•
TRIM:
BOOSTER QUIZ 3-10-2
기존의 ItemId를 총 왼쪽부터 0으로 채운 10자리의 문자열로 만들어서 조회해주세요.
•
대상 테이블: 상품(Item)
•
조회 조건: 모든 상품 조회
•
조회 컬럼: ItemId, NewItemId, ItemNm
•
추가 조건:
: NewItemId는 기존의 ItemId를 왼쪽부터 문자 '0'으로 채운 10자리의 신규 ItemId입니다.
◦
Ex) AMB -> 0000000AMB, BGLR-> 000000BGLR
◦
이와 같은 처리를 위해 LPAD 함수를 사용합니다.
ItemId NewItemId ItemNm
------ ---------- -------------------
AMB 0000000AMB Americano(B)
AMR 0000000AMR Americano(R)
BGLR 000000BGLR Bagel(R)
BMFR 000000BMFR Blueberry Muffin(R)
CITR 000000CITR Yuzu Ade(R)
CLB 0000000CLB Cafe Latte(B)
CLR 0000000CLR Cafe Latte(R)
... 생략 ...
SQL
복사
풀이
BOOSTER QUIZ 3-11-1
S003 매장에서 M0001 회원이 2022년에 주문한 목록을 보여주세요. 주문일시에 대한 년월도 추가해서 보여주세요.
•
대상 테이블: 주문(Ord)
•
조회 조건: ShopId가 S003 이고, MemberId가 M0001이고, 주문일시(OrdDtm)가 2022년에 속하는 모든 주문
•
조회 컬럼: OrdNo, ShopId, MemberId, OrdDtm, OrdYM
•
추가 조건
◦
OrdYM은 문자열 년월 값으로 OrdDtm를 DATE_FORMAT으로 변환해서 처리하시오.
•
정렬 기준: OrdDtm으로 오름차순 정렬하시오.
OrdNo ShopId MemberId OrdDtm OrdYM
----- ------ -------- ------------------- -------
25278 S003 M0001 2022-01-01 08:00:00 2022-01
25281 S003 M0001 2022-01-02 08:00:00 2022-01
25373 S003 M0001 2022-01-03 08:00:00 2022-01
25376 S003 M0001 2022-01-04 08:00:00 2022-01
… 생략 …
64773 S003 M0001 2022-12-30 08:00:00 2022-12
67268 S003 M0001 2022-12-31 08:00:00 2022-12
SQL
복사
풀이
BOOSTER QUIZ 3-11-2
2022년 6월 1일 주문에 대해 주문일시와 픽업일시, 그리고 주문에서 픽업까지 걸린 분수를 보여주세요.
•
대상 테이블: 주문(Ord)
•
조회 조건: OrdDtm이 2022년 6월 1일인 모든 데이터
•
조회 컬럼: OrdNo, OrdDtm, PickupDtm, 픽업까지걸린시간(분)
•
추가 조건
◦
픽업까지걸린시간(분)은 OrdDtm에서 PickupDtm까지 걸린 분(MINUTE) 수 입니다.
▪
TIMESTAMPDIFF를 사용해 처리하시오.
◦
픽업까지걸린시간(분)과 같이 컬럼별칭에 괄호가 포함되면 컬럼별칭에 백틱(`)을 사용할 것에 주의
•
정렬 기준: 픽업까지걸린시간(분)으로 오름차순 정렬하시오.
OrdNo OrdDtm PickupDtm 픽업까지걸린시간(분)
----- ------------------- ------------------- --------------------
30099 2022-06-01 08:00:00 2022-06-01 08:04:00 4
30097 2022-06-01 08:00:00 2022-06-01 08:05:00 5
30095 2022-06-01 08:00:00 2022-06-01 08:07:00 7
30098 2022-06-01 08:00:00 2022-06-01 08:10:00 10
30096 2022-06-01 08:00:00 2022-06-01 08:11:00 11
SQL
복사
풀이
BOOSTER QUIZ 3-11-3
2021년 8월에 탈퇴한 회원들의 가입일시, 탈퇴일시와 회원을 유지한 일수도 보여주세요. 추가로 가입월과 탈퇴월도 보여주세요.
•
대상 테이블: 회원(Member)
•
조회 조건: LeaveDtm(탈퇴일시)가 2021년 8월인 회원 데이터
•
조회 컬럼: MemberId ,JoinDtm, LeaveDtm, 가입월, 탈퇴월, 회원유지일수
•
추가 조건
◦
가입월은 JoinDtm을 DATE_FORMAT을 사용해 YYYY-MM 형태의 월로 변경한 내용입니다.
◦
탈퇴월은 LeaveDtm을 DATE_FORMAT을 사용해 YYYY-MM 형태의 월로 변경한 내용입니다.
◦
회원유지일수는 JoinDtm 이후 LeaveDtm까지 몇일인지 계산한 일수입니다.
▪
TIMESTAMPDIFF를 사용해 처리
•
정렬 기준: 회원유지일수 기준으로 오름차순 정렬하시오.
MemberId JoinDtm LeaveDtm 가입월 탈퇴월 회원유지일수
-------- ------------------- ------------------- ------- ------- ------------
M2436 2020-05-16 00:00:00 2021-08-05 00:00:00 2020-05 2021-08 446
M2446 2020-05-14 00:00:00 2021-08-13 00:00:00 2020-05 2021-08 456
M2456 2020-05-03 00:00:00 2021-08-12 00:00:00 2020-05 2021-08 466
M2466 2020-05-01 00:00:00 2021-08-20 00:00:00 2020-05 2021-08 476
SQL
복사
풀이
BOOSTER QUIZ 3-11-4
아래 SQL에서 성능적으로 문제가 있을만한 부분을 말하고 문제가 제거되도록 SQL을 수정하시오.
SELECT T1.OrdNo ,T1.OrdDtm
FROM startdb.Ord T1
WHERE DATE_FORMAT(T1.OrdDtm,'%Y-%m') = '2022-01';
SQL
복사
풀이