Note/DB
NOT EXISTS 문의 사용
Delia :D
2011. 6. 23. 13:26
SELECT
A.PGM_ID, '9125061' AS EMPL_NO,
A.I_SELECT, A.I_INSERT, A.I_UPDATE,
A.I_DELETE, A.I_PRINT, A.LEVEL
A.I_SELECT, A.I_INSERT, A.I_UPDATE,
A.I_DELETE, A.I_PRINT, A.LEVEL
FROM (
SELECT *
FROM TAUTH
WHERE EMPL_NO = 'SYSTEMS'
) A
WHERE NOT EXISTS (
SELECT *
FROM AUTH B
WHERE A.PGM_ID = B.PGM_ID
AND B.EMPL_NO = '9125061'
)
=> TAUTH테이블에서 EMPL_NO가 SYSTEMS인 결과집합 A를 구한다.
=> TAUTH테이블에서 EMPL_NO가 '9125061'인 결과집합 B를 구한다.
=> A 결과집합의 PGM_ID 와 B 결과집합의 PGM_ID를 비교하여 B 결과집합에는 존재하지않는 A 결과집합의 PGM_ID에 해당하는 데이터를 조회 한다.
=> 위 쿼리문은 A ⊃ B 일때 A - B 의 결과 이다.