하루에 하나씩 공부하기
프로그래머스 SQL LEVEL-3 메모 본문
- 서브쿼리에는 별칭을 무조건 지정해야 함!
- 구간 나누기 : NTILE()
NTITLE(n) OVER (ORDER BY ____ DESC/ASC (NULLS LAST))
- WITH 절
임시 테이블로 만들어 가독성 높이는 쿼리
WITH 이름 AS (SELECT~)
밑에서 참조할 때 이름 사용
- IFNULL
IFNULL(조건, 0) : NULL이면 0으로 치환
- GROUP BY 오류
조인시 SELECT절에 있는게 GROUP BY에 포함되지 않으면 오류가 남
집계함수로 감싸지면 안해도 가능
- IN VS EXISTS
EXISTS 뒤에는 서브쿼리만 올 수 있음
(서브쿼리의 SELECT절에는 무엇이 오든 상관이 없다 : 주로 SELECT 1 ~ 사용)
조회되는 데이터가 많아질수록 EXISTS 성능이 더 좋다
* 서브쿼리에 NULL 값이 포함되면 추출 X > NULL 값이 있다면 NOT EXISTS을 사용