본문 바로가기
클래스 리뷰/22.05 빡공단 SQL 강의

빡공단 22기 도전기 - SQL WHERE 서브쿼리 (28일차)

by 직_장인 2022. 12. 7.

 

 
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일차 인증!

 

 

댓글