Search

98-9. BOOSTER QUIZ 답안 9

BOOSTER QUIZ 9-3-1

아래 SQL을 인라인 뷰를 활용한 1:1 조인으로 변경하시오.
-- 2019년 3월 23일 가입한 회원의 2021년 주문 건수와 주문금액을 조회 -- 최종 결과는 MemberGd별 GROUP BY 처리 SELECT T1.MemberGd ,COUNT(*) OrdCnt ,SUM(T2.OrdAmt) OrdAmt FROM startdb.Member T1 INNER JOIN startdb.Ord T2 ON (T2.MemberId = T1.MemberId) WHERE T1.JoinDtm = STR_TO_DATE('20190323','%Y%m%d') AND T2.OrdDtm >= STR_TO_DATE('20210101','%Y%m%d') AND T2.OrdDtm < STR_TO_DATE('20220101','%Y%m%d') GROUP BY T1.MemberGd; MemberGd OrdCnt OrdAmt -------- ------ --------- GOLD 18 77500.000 PLAT 2 7000.000
SQL
복사
풀이

BOOSTER QUIZ 9-4-1

아래 SQL을 Ord와 OrdDet를 별도 인라인뷰에서 조인 후 GROUP BY 한 후에 Item과 조인되는 방식으로 수정하시오.
-- 1:M:1 조인 SELECT T3.HotColdCd ,SUM(T2.OrdQty) SUM_OrdQty FROM startdb.Ord T1 INNER JOIN startdb.OrdDet T2 ON (T2.OrdNo = T1.OrdNo) INNER JOIN startdb.Item T3 ON (T3.ItemId = T2.ItemId) WHERE T1.OrdDtm >= STR_TO_DATE('20220103','%Y%m%d') AND T1.OrdDtm < STR_TO_DATE('20220105','%Y%m%d') AND T3.ItemCat = 'COF' GROUP BY T3.HotColdCd; HotColdCd SUM_OrdQty --------- ---------- COLD 3 HOT 1
SQL
복사
풀이

BOOSTER QUIZ 9-5-1

2020년 1월 3일에 가입한 PLAT 등급의 회원의 2020년부터 2022년 까지의 주문금액과 2020년부터 2022년까지의 이벤트응모횟수를 보여주세요. 응모나 주문이 한번도 없는 회원도 출력되도록 해주세요.
대상 테이블: 회원(Member), 주문(Ord), 이벤트응모(EventEntry)
조회 조건
JoinDtm이 2020년 1월 3일이면서, MemberGd가 PLAT인 회원
회원별 OrdDtm이 2020년 1월 1일부터 2022년 12월 31일까지의 주문
회원별 EntryDtm이 2020년 1월 1일부터 2022년 12월 31일까지의 이벤트응모
조회 컬럼: MemberId, NickNm, MemberGd, JoinDtm, SumOrdAmt, EntryCnt
SumOrdAmt: OrdAm의 SUM
EntryCnt: EventEntry의 카운트
추가 조건
인라인 뷰를 두 개 활용
인라인 뷰 안에서 Ord를 MemberId로 GROUP BY 처리
인라인 뷰 안에서 EventEntry를 MemberId로 GROUP BY 처리
인라인 뷰 바깥에서 Member와 인라인 뷰 두 개를 아우터 조인 처리(Member가 기준집합)
MemberId NickNm MemberGd JoinDtm SumOrdAmt EntryCnt -------- --------- -------- ------------------- ---------- -------- M1209 Diamond24 PLAT 2020-01-03 00:00:00 388500.000 6 M1220 Lake24 PLAT 2020-01-03 00:00:00 194500.000 NULL M1225 Meteor24 PLAT 2020-01-03 00:00:00 386000.000 5 M1262 Fire25 PLAT 2020-01-03 00:00:00 345500.000 NULL M1267 Gold25 PLAT 2020-01-03 00:00:00 574500.000 3 M1281 Pika25 PLAT 2020-01-03 00:00:00 640000.000 6 M1290 Spark25 PLAT 2020-01-03 00:00:00 338500.000 NULL M1295 Sun25 PLAT 2020-01-03 00:00:00 667000.000 8 M1348 Thunder26 PLAT 2020-01-03 00:00:00 817000.000 11
SQL
복사
풀이

BOOSTER QUIZ 9-7-1

2021년 12월의 일별 주문금액과 2022년 12월의 주문금액을 일별로 비교해주세요.
대상 테이블: 주문(Ord) 테이블을 두 번 사용할 것
조회 조건
T1: OrdDtm이 2021년 12월인 주문 데이터
T2: OrdDtm이 2022년 12월인 주문 데이터
T1과 T2를 각각 두자리 일자(DATE_FORMAT(OrdDtm,’%d’))로 GROUP BY 처리하시오.
조회 컬럼: d, 2021년12월일별주문금액, 2022년12월일별주문금액, 주문금액증가율
d: 12월의 두 자리 일자 값(DATE_FORMAT(OrdDtm,’%d’)
2021년12월일별주문금액: T1의 두 자리 일자별 주문금액
2022년12월일별주문금액: T2의 두 자리 일자별 주문금액
주문금액증가율:
(2022년12월일별주문금액 - 2021년12월일별주문금액) / 2021년12월일별주문금액 * 100
추가 조건
T1과 T2를 각각의 인라인 뷰로 만들어서 처리
d 202112월일별주문금액 202212월일별주문금액 주문금액증가율 -- ---------------------- ---------------------- -------------- 01 12500.000 50000.000 300.00 02 4266500.000 16573000.000 288.44 03 19500.000 44000.000 125.64 04 312000.000 1013500.000 224.84 05 784500.000 2559500.000 226.26 06 315000.000 1011000.000 220.95 07 23500.000 46000.000 95.74 08 318000.000 999000.000 214.15 09 9500.000 46000.000 384.21 10 15500.000 53000.000 241.94 11 791500.000 2549500.000 222.11 12 15000.000 55000.000 266.67 13 317000.000 999500.000 215.30 14 11500.000 43000.000 273.91 15 14500.000 46000.000 217.24 16 14000.000 50000.000 257.14 17 12000.000 41000.000 241.67 18 20500.000 54500.000 165.85 19 18500.000 45000.000 143.24 20 12000.000 43000.000 258.33 21 317500.000 997000.000 214.02 22 3523000.000 11445500.000 224.88 23 4317000.000 14026000.000 224.90 24 3550500.000 11448000.000 222.43 25 3518500.000 11403000.000 224.09 26 19500.000 47000.000 141.03 27 16500.000 44000.000 166.67 28 10500.000 46500.000 342.86 29 794500.000 2563000.000 222.59 30 4008500.000 12958500.000 223.28 31 11500.000 50000.000 334.78
SQL
복사
풀이

BOOSTER QUIZ 9-8-1

2022년에 커피 상품의 주문 수량이 가장 많은 매장 Top-5만 보여주세요. 매장의 이름과 매장운영유형에 대한 정보를 추가해주세요.
대상 테이블: 주문(Ord), 주문상세(OrdDet), 상품(Item), 매장(Shop)
조회 조건
OrdDtm이 2022년인 모든 주문 데이터
ItemCat(상품카테고리)가 'COF'(커피)만
조회 컬럼: ShopId, ShopNm ,ShopOperTp ,MemberGd, SUM_OrdQty
SUM_OrdQty: ShopId별 커피 상품 주문 수량
추가 조건
인라인 뷰를 활용
커피상품 주문수량이 가장 많은 Top-5 Shop을 구하시오.
인라인 뷰 안에서는 Ord와 OrdDet, Item 테이블만 사용
인라인 뷰 바깥에서 Shop에 대한 추가 정보를 조인해서 보여주시오.
ShopID ShopNm ShopOperTp SUM_OrdQty ------ ----------------- ---------- ---------- S001 New York-1st FLAG 2293 S003 Chicago-1st FLAG 463 S200 Washington-10th FLAG 436 S007 San Antonio-1st FLAG 404 S016 San Francisco-1st FLAG 372
SQL
복사
풀이

BOOSTER QUIZ 9-8-2

2020년 12월에 주문금액이 가장 큰 Top-5 매장이면서, 동시에 2021년 12월에도 주문금액이 가장 큰 Top-5에 속하는 매장을 보여주세요.
대상 테이블: 매장(Shop), 주문(Ord)
조회 조건
조건 A: 2020년 12월 주문에서 OrdAmt 합계가 가장 큰 다섯 개 매장
조건 B: 2021년 12월 주문에서 OrdAmt 합계가 가장 큰 다섯 개 매장
조건 A에서 Top-5이면서, 조건 B에서도 Top-5에 속하는 데이터만 추출
조건 A와 조건 B를 동시에 만족하면 결과는 다섯 건 이하일 수 있다.
조회 컬럼: ShopId, ShopNm, ShopOperTp ,Amt_202012, Amt_202112
추가 조건:
조건 A와 조건 B를 각각의 인라인 뷰로 구현할것
Amt_202012는 조건 A에 해당하는 Shop의 OrdAmt에 대한 합계
Amt_202112는 조건 B에 해당하는 Shop의 OrdAmt에 대한 합계
ShopID ShopNm ShopOperTp Amt_202012 Amt_202112 ------ --------------- ---------- ----------- ----------- S001 New York-1st FLAG 3050000.000 4011000.000 S003 Chicago-1st FLAG 323000.000 330500.000 S007 San Antonio-1st FLAG 268500.000 271500.000 S011 Austin-1st FLAG 253000.000 245000.000
SQL
복사
풀이