SELECT * FROM TableA WHERE NOT EXISTS (
SELECT NULL
FROM TableB
WHERE TableB.ID = TableA.ID
)
SELECT * FROM TableA WHERE ID NOT IN (
SELECT ID FROM TableB
)
SELECT TableA.* FROM TableA
LEFT JOIN TableB
ON TableA.ID = TableB.ID
WHERE TableB.ID IS NULL
根据使用的数据库的不同,每个数据库的性能可能不同:
NOT EXISTS 和 NOT IN 谓词是搜索缺失值的最佳方法,只要有问题的两列都不为 NULL。