티스토리 뷰
쿼리 실행 순서
SQL 쿼리문을 실행하는데 순서가 존재한다.
FROM (+ JOIN)
쿼리의 첫 번째 실행 순서는 FROM절이다. FROM 절에서는 조회하는 테이블 전체를 가져온다.
WHERE 절
WHERE 절에서는 FROM 절에서 읽어온 테이블에서 조건에 맞는 결과만 갖도록 데이터를 필터링한다.
GROUP BY 절
GROUP BY 절에서는 선택한 컬럼으로 그룹핑한다.
GROUP BY 절을 사용하게 되면 해당 컬럼으로 집계함수를 사용할 수 있다.
HAVING 절
HAVING 절은 여러 조건들을 처리한 후 남은 데이터에서 어떤 열을 출력해줄지 선택한다.
HAVING 절은 각 그룹에 조건을 걸기 때문에 퍼포먼스가 떨어지게 된다.
WHERE 절에 있는 내용을 HAVING 절에서 사용할 수 있다.(단, GROUP BY도 같이 사용해야 된다.) GROUP BY로 그룹별 집계함수를 구하는 경우를 제외하고는 WHERE 절로 한 번에 거는 것이 좋다. (현재는 내부적으로 Optimize해준다.)
SELECT 절
SELECT 절은 여러 조건들을 처리한 후 남은 데이터에서 어떤 열을 출력해줄지 선택한다.
ORDER BY 절
어떤 열까지 출력할지 정했다면 행의 순서를 어떻게 보여줄지 정렬해주는 절이 ORDER BY이다.
LIMIT 절
LIMIT 절은 결과 중 몇 개의 행을 보여줄지 선택한다.
'DB > DB 문법' 카테고리의 다른 글
!= NULL, <> NULL, IS NOT NULL 차이 (0) | 2023.05.19 |
---|---|
TCL(Transaction Control Language) (0) | 2023.05.19 |
조건식(Conditional Expressons) (0) | 2023.05.18 |
쿼리 조회 시 *(asterisk)는 정말 지양해야 할까? (0) | 2023.05.18 |
데이터베이스 및 테이블 생성 (0) | 2023.05.18 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- sql
- postgresql
- Java
- 네티 스레딩 모델
- 분산 락
- socket
- 비관적 락
- 구름톤챌린지
- nginx
- mdcfilter
- redis session
- 트랜잭션
- 스프링 네티
- NeXTSTEP
- 카프카
- mysql
- spring session
- TDD
- Kafka
- 람다
- nginx configuration
- 넥스트스탭
- 자바 네티
- annotation
- 구름톤 챌린지
- transaction
- Synchronized
- jvm 메모리 구조
- spring webflux
- pessimistic lock
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함