[SQL] 073. 서브 쿼리 사용하기3
Updated:
초보자를 위한 SQL 200제 교재를 토대로 공부한 내용입니다.
오라클 SQL을 기반으로 합니다.
실습에 사용한 테이블은 정보문화사 홈페이지에서 받을 수 있습니다.
[예시]
NOT IN
연산자와 서브 쿼리를 사용한 예시를 살펴보자.
여기선 EMPNO(사원번호)가 MRG(관리자사원번호)가 아닌 경우 출력한다.
즉, 관리자가 아닌 사원을 출력한다.
한 가지 주의할 점은 서브 쿼리 내에 IS NOT NULL
을 사용하지 않으면 결과가 출력되지 않을 수 있다.
만약 MGR이 (1, 2, NULL)인 경우,
WHERE EMPNO != 1 AND EMPNO != 2 AND != NULL로 식이 만들어지며 이 경우 전체가 NULL이 된다.
(NULL은 이퀄 연산자를 사용할 수 없다.)
-- 관리자가 아닌 사원 출력
SELECT ENAME
FROM EMP
WHERE EMPNO NOT IN (SELECT MGR
FROM EMP
WHERE MGR IS NOT NULL);
[결과]
ENAME |
---|
ADAMS |
WARD |
ALLEN |
JAMES |
SMITH |
MILLER |
MARTIN |
TURNER |
Leave a comment