Search

98-6. BOOSTER QUIZ 답안 6

BOOSTER QUIZ 6-1-1

상품종류가 음료이거나 베이커리이면서, 상품크기가 레귤러인 상품을 보여주세요. 이때, Hot/Cold구분을 "차가운","뜨거운"으로 구분해서 보여주세요.
대상 테이블: 상품(Item)
조회 조건: ItemCat가 BEV(음료)이거나 BKR(베이커리)이면서, ItemSizeCd는 REG(레귤러)인 데이터만
조회 컬럼: HotColdNm, ItemId, ItemNm
추가 조건
HotColdNm은 CASE를 사용해 처리합니다.
HotColdCd가 HOT이면 '뜨거운', COLD면 '차가운'으로 표시합니다.
주의) 실제 운영 시스템은 이런 코드성 데이터 명칭은 기준코드 테이블로 처리합니다.
여기서는 연습을 위해 CASE를 사용합니다.
정렬 기준: HotColdCd로 오름차순 한 후에, ItemId로 오름차순 정렬하시오.
HotColdNm ItemId ItemNm --------- ------ --------------- 차가운 BMFR 블루베리머핀(R) 차가운 CMFR 초코머핀(R) 차가운 LEMR 레몬에이드(R) 뜨거운 BGLR 베이글(R) 뜨거운 HCHR 핫초코(R)
SQL
복사
풀이

BOOSTER QUIZ 6-1-2

2022년 12월 23일 주문을 조회해주세요. 주문번호로 오름차순 해주세요. 주문일시가 12시 이전이면 ‘오전주문’, 주문일시가 12시 이후면 ‘오후주문’으로 표시해주세요.
대상 테이블: 주문(Ord)
조회 조건: OrdDtm이 2022년 12월 23일
조회 컬럼: OrdNo, OrdDtm, MemberId, 오전오후구분
추가 조건
오전오후구분은 CASE로 처리합니다.
OrdDtm의 시간이 12:00:00 이하(<=)면 ‘오전주문’으로 출력
OrdDtm의 시간이 12:00:00 초과(>)면 ‘오후주문’으로 출력
OrdNo로 오름차순 정렬로 출력하시요.
OrdNo OrdDtm MemberId 오전오후구분 ----- ------------------- -------- ------------ 57119 2022-12-23 07:30:00 M1040 오전주문 57120 2022-12-23 07:30:00 M2000 오전주문 57121 2022-12-23 07:30:00 M3071 오전주문 57122 2022-12-23 07:30:00 M5000 오전주문 57123 2022-12-23 07:30:00 M6041 오전주문 57124 2022-12-23 07:30:00 M7010 오전주문 ... 생략 ...
SQL
복사
풀이

BOOSTER QUIZ 6-2-1

2021년 12월 24일의 주문을 보여주세요. 그런데, S010 매장의 주문이 가장 먼저 조회되도록 해주시고, 나머지는 주문번호순으로 보여주세요.
대상 테이블: 주문(Ord)
조회 조건: OrdDtm이 2021년 12월 24일인 데이터
조회 컬럼: OrdNo, OrdDtm, ShopId, OrdAmt
추가 조건
데이터 정렬시, S010 매장의 주문은 무조건 위에 나오도록 예외 처리하시오.
정렬 기준: S010 매장의 주문이 무조건 먼저 나오도록 처리하고, 나머지는 OrdNo 순으로 오름차순 정렬하시오.
OrdNo OrdDtm ShopId OrdAmt ----- ------------------- ------ --------- 23070 2021-12-24 10:00:00 S010 8500.000 23270 2021-12-24 13:00:00 S010 10000.000 22974 2021-12-24 07:30:00 S023 4000.000 22975 2021-12-24 07:30:00 S050 12500.000 22976 2021-12-24 07:30:00 S065 2500.000 22977 2021-12-24 08:00:00 S003 3000.000 22978 2021-12-24 08:00:00 S021 4500.000 … 생략 …
SQL
복사
풀이

BOOSTER QUIZ 6-2-2

2021년 12월 1일 주문에 대해, 주문일시와 픽업일시를 보여주고, 주문에서 픽업까지 걸린 시간에 대해 "10분초과"와 "10분이하"로 구분자를 넣어주세요.
대상 테이블: 주문(Ord)
조회 조건: OrdDtm이 2021년 12월 1일인 데이터
조회 컬럼: OrdNo, OrdDtm, PickupDtm, 픽업완료시간구분
추가 조건
픽업완료시간구분은 OrdDtm에서 PickupDtm까지 걸린 시간에 따라,
'10분초과' 또는 '10분이하'로 구분
OrdDtm에서 PickupDtm까지 걸린 시간은 TIMESTAMPDIFF로 처리합니다.
정렬 기준: OrdNo로 오름차순 정렬하시오.
OrdNo OrdDtm PickupDtm 픽업완료시간구분 ----- ------------------- ------------------- ---------------- 19987 2021-12-01 08:00:00 2021-12-01 08:07:00 10분이하 19988 2021-12-01 08:00:00 2021-12-01 08:11:00 10분초과 19989 2021-12-01 08:00:00 2021-12-01 08:05:00 10분이하
SQL
복사
풀이

BOOSTER QUIZ 6-2-3

[BOOSTER QUIZ 6-2-2] 풀이 SQL을 활용해, 픽업완료시간구분별 주문건수를 구하시오.
픽업완료시간구분 주문건수 ---------------- -------- 10분이하 2 10분초과 1
SQL
복사
풀이

BOOSTER QUIZ 6-2-4

S001과 S002 매장의 2022년 주문을, 매장별로 상반기, 하반기로 구분해 주문건수를 구해주세요.
대상 테이블: 주문(Ord)
조회 조건: ShopId가 S001, S002인 매장의 OrdDtm이 2022년인 모든 데이터
조회 컬럼: ShopId, 반기구분, OrdCnt
추가 조건
반기구분은 OrdDtm을 CASE 처리
22년1월부터 22년 6월말까지는 '상반기', 22년 7월부터는 '하반기'로 구분
ShopId, 반기구분별 GROUP BY 처리합니다.
OrdCnt는 ShopId, 반기구분별 주문건수입니다.
정렬 기준: ShopId로 오름차순 후에, 반기구분으로 오름차순하시오.
ShopId 반기구분 OrdCnt ------ -------- ------ S001 상반기 551 S001 하반기 2444 S002 상반기 3 S002 하반기 73
SQL
복사
풀이