[오늘 할 일]
1. SQL 코드카타 문제 풀기
2. SQLD 자격증 대비반 강의 복습 (5주차 ~ 9주차)
3. [도서]기획의 정석_완독
+) 세바시 강연_ 일터의 변화를 이끄는 창조사고 프로세스
[내용 정리]
1. SQL 코드카타 문제
-- 8~10월 사이 5번 이상 대여한 CAR_ID 월별로 구하기
-- 1) 5회 이상 CAR_ID 추출
WITH COUNT_CAR_ID AS (SELECT CAR_ID
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE TO_CHAR(START_DATE,'YYYYMM') BETWEEN 202208 AND 202210
GROUP BY CAR_ID
HAVING COUNT(CAR_ID) >= 5)
-- 2) 구하기
SELECT TO_NUMBER(TO_CHAR(A.START_DATE,'MM')) AS MONTH, A.CAR_ID, COUNT(*) AS RECORDS
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY A, COUNT_CAR_ID B
WHERE 1=1
AND A.CAR_ID = B.CAR_ID
AND TO_CHAR(A.START_DATE, 'YYYYMM') BETWEEN 202208 AND 202210
GROUP BY TO_NUMBER(TO_CHAR(A.START_DATE,'MM')), A.CAR_ID
HAVING COUNT(*) <> 0
ORDER BY MONTH ASC, A.CAR_ID DESC
-- 특정 조건을 만족하는 ID와 일치하는 값 중에서 조건을 걸 때 WHERE 절 서브쿼리 활용하기
-- FROM절에만 서브쿼리하다가 배운 것.
SELECT B.MEMBER_NAME, A.REVIEW_TEXT, TO_CHAR(A.REVIEW_DATE, 'YYYY-MM-DD') AS REVIEW_DATE
FROM REST_REVIEW A, MEMBER_PROFILE B
WHERE 1=1
AND A.MEMBER_ID = (SELECT MEMBER_ID
FROM REST_REVIEW
GROUP BY MEMBER_ID
ORDER BY COUNT(*) DESC
FETCH FIRST 1 ROWS ONLY)
AND A.MEMBER_ID = B.MEMBER_ID
ORDER BY REVIEW_DATE ASC, REVIEW_TEXT ASC
'[스파르타코딩클럽]데이터분석 과정 > TIL&WIL' 카테고리의 다른 글
[WIL] 1주차 (0) | 2023.12.22 |
---|---|
[TIL] 23.12.22 (0) | 2023.12.22 |
23.12.20 (0) | 2023.12.20 |
23.12.19 (0) | 2023.12.19 |
23.12.18_본 캠프 시작 (0) | 2023.12.18 |