KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.
이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT CAR_ID,
MAX(CASE WHEN '2022-10-16'
BETWEEN START_DATE AND END_DATE THEN '대여중'
ELSE '대여 가능' END) AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
ORDER BY CAR_ID DESC
#시작날짜와 끝날짜 사이에 '2022-10-16' 이 있으면 대여중,
없으면 대여 가능 출력하는 CASE 구문인데,
MAX 함수를 넣지 않으면 통과가 되지 않았다.
그룹과 집계함수 관련 내용 더 공부해보기!
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT SUBSTR(OS.SALES_DATE, 1, 4) YEAR,
SUBSTR(OS.SALES_DATE, 6, 2) MONTH,
UI.GENDER,
COUNT (DISTINCT UI.USER_ID) USERS
FROM USER_INFO UI INNER JOIN ONLINE_SALE OS
ON UI.USER_ID = OS.USER_ID AND UI.GENDER IS NOT NULL
GROUP BY SUBSTR(OS.SALES_DATE, 1, 4),
SUBSTR(OS.SALES_DATE, 6, 2),
UI.GENDER
ORDER BY 1, 2, 3
# 더 쉬운 쿼리가 있을 것 같은데..
DATE 포맷 관련 좀 더 알아보기!
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT RI.REST_ID,
RI.REST_NAME,
RI.FOOD_TYPE,
RI.FAVORITES,
RI.ADDRESS,
ROUND(AVG(RR.REVIEW_SCORE),2) SCORE
FROM REST_INFO RI LEFT JOIN REST_REVIEW RR
ON RI.REST_ID = RR.REST_ID
WHERE RI.ADDRESS LIKE '서울%' AND RR.REVIEW_SCORE IS NOT NULL
GROUP BY RI.REST_ID
ORDER BY 6 DESC, 4 DESC
#RR.REVIEW_SCORE IS NOT NULL..
평균을 집계할 때 자동으로 NULL값을 제외하지 않나..?
NULL값 제외 조건을 달지 않으면 통과가 안됐었다.
집계함수 관련 내용 확인해볼 것.