SQL 기본 및 활용
🗄️ SQLSQL 기본★★★★★거의 매회

SQL 이 실행되는 순서

FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY. 쓰는 순서와 실행 순서가 다르다.

실행 순서FROMWHEREGROUP BYHAVING별칭

왜 그런지까지

SELECT 절이 거의 마지막에 실행되기 때문에, SELECT 에서 붙인 별칭(alias)을 WHERE 에서는 쓸 수 없다. 반면 ORDER BY 는 SELECT 다음이라 별칭을 쓸 수 있다.

또 WHERE 는 그룹으로 묶기 전에 행을 걸러 내고, HAVING 은 묶은 뒤의 그룹을 걸러 낸다. 그래서 집계 함수 조건은 HAVING 에 써야 한다.

쓰는 순서와 실행 순서

쓰는 순서실행 순서
SELECT5
FROM1
WHERE2
GROUP BY3
HAVING4
ORDER BY6

헷갈리는 것

WHERE vs HAVING

WHERE 는 묶기 전에 행을 거르고 집계 함수를 쓸 수 없다. HAVING 은 묶은 뒤 그룹을 거르고 집계 함수를 쓸 수 있다.

별칭을 쓸 수 있는 곳

ORDER BY 는 SELECT 다음에 실행되어 별칭을 쓸 수 있지만, WHERE·GROUP BY·HAVING 은 그 전이라 쓸 수 없다.

확인 문제

넣어 두면 오늘 · 1일 · 3일 · 7일 · 14일 · 30일 간격으로 다시 물어봅니다