ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Oracle] Select SQL 실행순서
    DB/Oracle 2020. 5. 15. 15:32

    Select SQL 실행순서(오라클 SQL 기준)

     

    1) FROM table(s) [alias]

    - FROM 절에 사용된 테이블을 인식하여 데이터 딕셔너리에서 관련된 정보들을 파악

     

    2) [WHERE condition(s)]

    - WHERE절에서 조건에 맞는 데이터를 추출

     

    3) [GROUP BY column(s)]

    - GROUP BY절이 추가되면 GROUP BY절에 사용된 항목별로 데이터의 정렬이 일어남

     

    4) [HAVING condition(s)]

    - HAVING 절은 GROUP BY절로 정렬이 된 데이터를 대상으로 조건을 정의.

     

    5) SELECT {*, column(s) [alias],...}

    - 대부분의 RDBMS가 ROW(로우)기준 저장구조입니다. SELECT이전까지 원하지 않는 칼럼까지도 데이터베이스의 메모리에 저장.

     

    6 [ORDER BY column(s) [alias] [DESC],.....];

    - ORDER BY절이 가장 나중에 실행.

    - SELECT절에서 선택되지 않은 칼럼이나 연산도 데이터베이스의 메모리에 저장되어있으므로 ORDER BY절에서 사용

     

     

    정리하자면 다음과 같다.

     

    1.FROM 절에서 테이블의 목록을 가져옴
    2.WHERE 절에서 검색 조건에 불일치 하는 행 제외
    3.GROUP BY 절에서 명시된 행의 값을 그룹화
    4.HAVING 절이 GROUP BY 절의 결과 행 중 검색 조건에 불일치 하는 행 제외
    5.SELECT 절에서 명시된 열을 정리 
    6.ORDER BY 절에서 열을 기준으로 출력할 대상을 정렬 후 출력 

     

    반응형

    댓글

Designed by Tistory.