Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- airflow
- Docker
- 자료구조
- 데이터 파이프라인
- 운영체제
- TCP
- PYTHON
- Django
- 데이터베이스
- Go
- 데이터 엔지니어링
- airflow.cfg
- 데브코스
- 종류
- S3
- 컴퓨터 네트워크
- 파이썬
- AWS
- linux
- 컴퓨터네트워크
- HADOOP
- TIL
- 데이터 웨어하우스
- 정리
- redshift
- 데이터엔지니어링
- dockerfile
- http
- 가상환경
- sql
Archives
- Today
- Total
홍카나의 공부방
SELECT 문의 실행 순서 본문
SQL 문을 작성할 때 일련의 순서를 따르게 된다. 예를 들어서
SELECT *
FROM user_info A
INNER JOIN class_info B ON A.userid = B.userid
WHERE age > 20
GROUP BY 1
ORDER BY 1;
이런 식으로 SELECT, FROM, ..., ORDER BY로 순서를 지키게 된다.
그러나 실제 실행 순서는 문법의 순서와 다르다.
SELECT문의 실행 순서는
1. FROM
2. JOIN, ON
3. WHERE
4. GROUP BY, HAVING
5. SELECT, DISTINCT
6. ORDER BY
이렇게 진행 된다.
외우지 말고 이해하려 해보자.
일단 FROM 절로 쿼리를 해야 하는 데이터를 쭉 가져온다.
여기서 필요하다면 JOIN과 그에 맞는 조건(ON)을 걸어서 데이터를 확장시켜서 가져오거나, 처리한다.
그다음 그룹화를 하기 이전에 조건을 체크하여 레코드를 제거한다.
그다음 그룹화를 진행하고 그룹화에 조건을 건다.
SELECT로 레코드와 필드를 조회하고, DISTINCT로 중복을 제거한다.
정렬한다.
참 쉽지요?
반응형
'Data Engineering > Database' 카테고리의 다른 글
데이터 웨어하우스에서 Primary Key Uniquess 보장하기 (0) | 2023.06.21 |
---|---|
[SQL] NULL 처리법 (0) | 2023.06.14 |
SQL 연습 - 프로그래머스 SQL 문제풀이 (1) (0) | 2023.06.12 |
[SQL] MySQL : 연월일 중 월을 표현하고 싶을 때 (DATE_FORMAT) (0) | 2023.05.28 |
[데이터베이스] 정규화, 함수 종속 관계, 정규형 (0) | 2023.05.27 |