SQL 문법의 순서와 실행 순서는 서로 다르므로 이 점에 주의해야 한다.
SQL 문법의 순서
- SELECT: 쿼리의 결과로 얻고자 하는 열을 선택한다.
- FROM: 데이터를 가져올 테이블을 지정한다.
- WHERE: 가져올 데이터를 필터링하는 조건을 지정한다.
- GROUP BY: 그룹화할 열을 지정한다.
- HAVING: 그룹화된 결과를 필터링하는 조건을 지정한다.
- ORDER BY: 결과를 정렬할 열을 지정한다.
SQL 실행 순서
- FROM: 데이터를 가져올 테이블을 지정한다.
- JOIN: 테이블을 결합한다.
- WHERE: 가져올 데이터를 필터링한다.
- GROUP BY: 그룹화한다.
- HAVING: 그룹화된 결과를 필터링한다.
- SELECT: 가져올 데이터를 지정한다.
- DISTINCT: 중복을 제거한다.
- ORDER BY: 결과를 정렬한다.
- TOP: 상위 N개의 데이터를 반환한다.
- UNION: 결과를 합친다.
서브쿼리같은 경우 실행 순서는 다음과 같다.
- 외부 쿼리를 실행하기 전에 서브쿼리를 먼저 실행한다.
- 서브쿼리는 결과 집합을 반환한다.
- 외부 쿼리는 반환된 결과 집합을 사용하여 나머지 연산을 수행한다.
즉, 서브쿼리가 먼저 실행되고 그 결과를 사용하여 외부 쿼리가 실행된다는 말이다.
'Database > SQL' 카테고리의 다른 글
[MySQL] 서브쿼리(SUBQUERY) (0) | 2023.03.31 |
---|---|
[MySQL] 그룹화 해주는 Group by (0) | 2023.03.30 |