WHERE - 서브쿼리
1. WHERE() 절 서브쿼리 : 단일 행 서브쿼리

- 특정 조건으로 필터링 할 때 WHERE()를 사용하는데, 이때 값이 아닌 서브쿼리를 활용해서 필터링이 가능하다.
- WHERE() 절에 비교연산 서브쿼리가 들어간 경우이고, 서브쿼리 조회 결과 값의 갯수가 1개일 때 '단일 행 서브쿼리'라고 한다.
2. WHERE() 절 서브쿼리 : 다중 행 서브쿼리

- 서브쿼리의 조회 결과 값의 행이 여러개인 서브쿼리이다.
- WHERE()를 두번 사용하여, job_id가 'SA_REP'인 사람들의 급여와 동일한 사람들을 추출한다.
- IN은 특정 값을 포함하고 있는 행을 반환한다.
3. EXISTS

- 양쪽 테이블에서 존재하는 값을 어느 한쪽 테이블에서 확인 가능하다.
- EXISTS는 검색 결과에 최소한 하나 이상의 값이 존재하는지의 여부를 표현한다.
- 최소한 한 개의 값이 존재하면 '참', 아니면 '거짓'이다.
4. 서브쿼리 사용 가능 여부
/*
SELECT O 스칼라(Scalar) 서브쿼리
FORM O IN LINE VIEW 서브쿼리
WHERE O 서브쿼리
GROUP BY X
HAVING O 서브쿼리
ORDER BY O 스칼라(Scalar) 서브쿼리
*/
- GROUP BY() 이후에 HAVING()에서 필터링을 하기 때문에, GROUP BY()에서는 서브쿼리를 사용 할 필요가 없다.
28일차 인증!


'클래스 리뷰 > 22.05 빡공단 SQL 강의' 카테고리의 다른 글
빡공단 22기 도전기 - SQL, Jupyter Notebook을 활용한 데이터 분석 및 시각화 (0) | 2023.01.07 |
---|---|
빡공단 22기 도전기 - SQL 속도와 성능을 고려한 코드작성 (29일차) (1) | 2022.12.07 |
빡공단 22기 도전기 - SQL FROM 서브쿼리 (27일차) (0) | 2022.12.07 |
빡공단 22기 도전기 - SQL SELECT 서브쿼리 (26일차) (0) | 2022.12.07 |
빡공단 22기 도전기 - SQL 실전 데이터 분석 (25일차) (0) | 2022.12.07 |
댓글