데이터베이스에서 사용할 수있는 모든 항목이 테이블 A에 키 값이 ItemNum 인 SQL Server 2008 데이터베이스에서 작업하고 있습니다. . 표 B와 표 C는 ItemNum을 키 값으로 사용하며 테이블 A의 항목이 실제로 사용되는 곳입니다. 표 A는 표 B와 표 C에서 사용되지 않는 많은 복제물을 포함하고 있습니다. 표 A에서 표 B 또는 표 C에 사용되지 않은 모든 ItemNum을 삭제해야합니다.SQL Server 2008에서 값을 찾을 수없는 모든 행을 삭제하는 쿼리
지금 다음과 같은 두 가지 쿼리가 있습니다. Select
문 (궁극적으로는 Delete
문으로 바뀌 었습니다)이 올바르게 작동하는지 모르겠으며 가능한 가장 효율적인 쿼리를 만들고 싶습니다. 이 같은
USE Database
GO
SELECT ItemNum
FROM B
WHERE EXISTS
(SELECT ItemNum FROM A WHERE A.ItemNum = B.ItemNum)
USE Database
GO
SELECT ItemNum
FROM C
WHERE EXISTS
(SELECT ItemNum FROM A WHERE A.ItemNum = C.ItemNum)
여기서 ... (x에서 선택 x) 그리고 ... (...)에 ...하지 않음 (...) – holaSenor