프로그래밍/ORACLE & SQL
[SQL] 쿼리문 실행순서
까망_토끼
2023. 3. 27. 13:48
1. FROM , JOIN
2. WHERE
3. GROUP BY
4. HAVING
5. SELECT
6. ORDER BY
쿼리문은 순서를 유의하여야 한다.
예시)
SELECT *
FROM EMP
WHERE ROWNUM=1
ORDER BY NAME desc
위의 코드는 이름 별로 역정렬하여 첫 줄만 출력하는 것이 의도이다.
쿼리문을 이렇게 짜게되면 WHERE절이 먼저 실행되기 때문에 정렬되지 않은 첫 줄이 SELECT된다.
SELECT *
FROM (SELECT *
FROM EMP
ORDER BY NAME DESC )
WHERE ROWNUM=1
서브쿼리로 한번더 감싸줘서 문제를 해결할 수 있다.