💻 IT/DB(Tibero & Oracle & MySQL)

[DataBase] SELECT문의 작성 순서와 실행 순서

Nyan cat 2022. 10. 26. 15:06

📌 select문의 작성 순서 & 실행 순서

데이터베이스에서 데이터를 조회할 때 가장 흔하게 사용하는 select문.

워낙 많이 써서 이제는 눈 깜고도 select ... from ... where을 치곤 한다. (오타주의)

그런데 select문의 작성 순서와 실제로 데이터베이스에서 실행되는 내부적인 실행 순서는 다르다.

이 실행 순서를 유의하고 있으면 데이터베이스 구조에 대해서 조금 더 이해하게 될 수 있을 것 같다.

 

  • 각 절들의 작성 순서 (워낙 익숙함)
    1. SELECT
    2. FROM
    3. WHERE
    4. GROUP BY
    5. HAVING
    6. ORDER BY
    7. LIMIT
  • 각 절들의 실행 순서
    1. FROM : 어느 테이블을 대상으로 할 것인지 먼저 결정
    2. WHERE : 해당 테이블에서 특정 조건(들)을 만족하는 row들만 선별
    3. GROUP BY : row들을 기준대로 그루핑, 하나의 그룹은 하나의 row로 표현
    4. HAVING : 그루핑 작업 후 생성된 여러 그룹들 중에서 특정 조건(들)을 만족하는 그룹만 선별
    5. SELECT : 모든 컬럼 또는 특정 컬럼들을 조회 (SELECT절에서 컬럼 이름에 alias를 붙인게 있다면, 이 이후 단계 부터 사용 가능)
    6. ORDER BY : 각 row를 특정 기준에 따라서 정렬
    7. LIMIT : 이전 단계까지 조회된 row들 중 일부 row들만 추림
반응형