Search

98-3. BOOSTER QUIZ 답안 3

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
복사
풀이