我有一個表,FilesContainsFiles這是一個連接表:所有NOT IN都可以轉換爲NOT EXISTS嗎?
- FilesContainsFiles(IDContainerFile,IDContentFile)
我想知道哪些包含文件只包含在特定的容器文件。
例如,我擁有包含file01和file02的fileA以及包含file01的fileB。
我想知道哪些文件只包含在fileA中。所以與不在我有:
select * from FilesContainsFiles
where IDContentFile NOT IN(
select IDContentFile from FilesContainsFiles
where IDContentFile IN(select IDContentFile
from FilesContainsFiles where IDContainerFile NOT IN (64)))
注意:我使用NOT IN和IN,因爲我想具體許多fileContainer。對於只有一個容器,我可以使用相同的比較。
但是,當我嘗試使用NOT EXISTS並且沒有得到結果時。我嘗試類似:
select * from FilesContainsFiles
where NOT EXISTS(select * from FilesContainsFiles where IDContainerFile <> 64)
是否可以使用NOT EXISTS而不是NOT IN?
謝謝。
非常感謝。 NOT IN版本比我的版本更簡單,不存在的版本可以正常工作。謝謝。 –