본문 바로가기

공부 자료/SQL

[28일차] Where - 서브쿼리 : 원하는 데이터 추출하기

단일행 서브쿼리 : 서브쿼리의 조회 결과 값의 개수가 1개인 서브쿼리

- 다중행 서브쿼리 : 서브쿼리의 조회 결과 값의 행이 여러 개인 서브쿼리

- EXISTS : 검색 결과에 최소한 하나 이상의 레코드가 존재하는지의 여부를 표현하며, 최소한 한 개의 레코드가 존재하면 참이 되고 그렇지 않으면 거짓

- IN : 특정 값을 포함하고 있는 행을 반환함

- GROUP BY만 서브쿼리가 없는 이유 : GROUP BY를 기준으로 어떠한 값을 산출할지 여부를 판단한 뒤 필터링하는 역할을 HAVING이 하므로 GROUP BY에는 서브쿼리를 사용할 필요가 없음

 

SELECT *
FROM employees
WHERE salary in (
select salary
from employees
where job_id = 'SA_REP'
);