검색조건에 의해 검색할 경우 없는 레코드 번호를 추출하는 쿼리입니다.
데이타가 아래와 같을 경우
번호 학생명 --- ----- 1 AAA 2 CCC 3 EEE 4 BBB 5 FFF (6) <-- 레코드 자체가 없습니다 (7) <-- 레코드 자체가 없습니다 8 GGG 9 SSS
인 경우
검색조건을 " Where 번호 between 1 and 9" 으로 할 경우
검색 결과
번호 학생명 --- ----- 6 7
로 쿼리문 작성이 가능할까요?
with pv_t as( select number from spt_values where type = 'P' and number between 1 and 9 ) , tableA as ( select 1 번호, 'AAA1' 학생명 union all select 2 번호, 'AAA2' 학생명 union all select 3 번호, 'AAA3' 학생명 union all select 4 번호, 'AAA4' 학생명 union all select 5 번호, 'AAA5' 학생명 union all select 8 번호, 'AAA8' 학생명 union all select 9 번호, 'AAA9' 학생명 ) -- 1 outer join 이용방법 select a.number 번호 , b.학생명 from pv_t a left outer join tableA b on a.number = b.번호 where b.번호 is null -- 2. not in 이용은 직접해보시길 -- 3. not exists 이용은 직접해보시길
일반적으로 3가지 방법을 이용합니다,.
감사합니다