1.WHERE과 HAVING은 언제 어느 때 사용할까?
WHERE
- 질의 실행 전 살펴봄
- "질의가 처리할 행을 결정"
- 개별 행에 적용
- 집계함수 사용 불가
- ROWID를 찾는데 유리
- 최적화
HAVING
- 질의 실행 후 살펴봄
- 모든 행을 처리한 다음 클라이언트에 반환할 행을 결정
- 결과 집합의 행에 적용
- 집계함수 사용 가능
*SQL이 진행되는 순서
FROM,WHERE,GROUP BY, HAVING, ORDER BY, SELECT
2.WHERE와 HAVING을 섞어 사용할 수 있을까?
:WHERE은 관심있는 행만 읽어 최적화가 가능하지만 HAVING을 사용하는 경우 모든 행을 다 읽어 최적화에 불리하다. WHERE은 최적화를 목적으로 쓰는 데 HAVING은 최적화를 목적으로 하지 않는다. 반대도 마찬가지다. 즉 목적이 다른 두 구문은 함께 사용하지 않는다.
'기혁씨의 삽질표류기' 카테고리의 다른 글
[삽질표류기/문법]변수를 사용하는 이유. (0) | 2023.01.09 |
---|---|
[삽질표류기/DB] JDBC와 DB연결 설정 (0) | 2022.12.28 |
[삽질표류기/JAVA]자바 메인메서드는 왜 public static을 사용할까? (2) | 2022.12.28 |
[에러] 매핑 과정에서 발생한 NullPointerException (0) | 2022.09.27 |
[에러] 화면 안 넘어가는 문제 (0) | 2022.09.15 |