Oracle) SELECT 쿼리 실행 순서 / ROWNUM과 ORDER BY절

이지우·2022년 11월 29일
0
  • 문법 순서
    1_1. SELECT
    1_2. FROM
    2_1. JOIN
    2_2. ON
    3_1. WHERE
    4_1. GROUP BY
    4_2. HAVING
    5_1. ORDER BY

  • 실행 순서
    1_1. FROM
    1_2. ON
    1_3. JOIN
    2_1. WHERE
    3_1. GROUP BY
    3_2. HAVING
    4_1. SELECT
    4_2. DISTINCT
    5_1. ORDER BY


  • ALIAS 설정 규칙
    • FROM -> SELECT, ORDER BY 사용 가능
    • SELECT -> ORDER BY 사용 가능
      -> 실행 순서에 따라 이후 실행 절에서 사용 가능 한 것

  • WHERE, SELECT절 실행 후 ORDER BY절 실행된다. 즉, ROWNUM이 각 row에 할당된 후 ORDER BY절 실행되므로 ROWNUM이 정렬되지 않게 된다.
    => ORDER BY 정렬된 대로 ROWNUM 할당하고 싶으면, ORDER BY절이 포함된 쿼리를 서브쿼리로 하고 메인쿼리에서 ROWNUM 할당할 것
profile
IT개발 입문합니다.

0개의 댓글