값 목록이 있으며 어떤 값이 테이블에 없는지 알고 싶습니다. 내가 '고양이'와 '개'를 반환하는 쿼리를 작성해야테이블에없는 값은?
CREATE TABLE myTable (foo VARCHAR(10))
GO
INSERT INTO myTable
(foo
)
SELECT 'aaa'
UNION ALL SELECT 'bbb'
UNION ALL SELECT 'ccc'
GO
SELECT foo
FROM myTable
WHERE foo IN ('aaa', 'cat', 'bbb', 'dog')
-- returns 'aaa' and 'bbb'
: 다음 사항을 고려
(이것은 SQL 서버 2000)입니다.
SELECT foo
FROM myTable
WHERE foo ????? ('aaa', 'cat', 'bbb', 'dog')
-- returns 'cat' and 'dog'
쿼리에서이 작업을 수행하는 간단한 방법이 있습니까? 방법으로 응용 프로그램이 데이터베이스와 상호 작용으로 인해
, 나는, 말,
select foo from myTable
WHERE NOT EXISTS (select 1 from myTable where foo in('cat', 'dog'));
하지 않음 (사실, NOT EXISTS) 일을
? 그렇다면 데이터베이스에서 이미 존재하는 것을 가져 와서 응용 프로그램에서 필터링을 수행 할 수 있습니다. 성능 저하가 눈에 띄지 않습니다. – Journey