在我看来,您可以在SQL查询中使用NOT EXISTS、NOT IN或LEFT JOIN WHERE IS NULL执行相同的操作。例如:
SELECT a FROM table1 WHERE a NOT IN (SELECT a FROM table2)
SELECT a FROM table1 WHERE NOT EXISTS (SELECT * FROM table2 WHERE table1.a = table2.a)
SELECT a FROM table1 LEFT JOIN table2 ON table1.a = table2.a WHERE table1.a IS NULL
我不确定是否所有的语法都是正确的,但这些是我见过的通用技术。为什么我会选择使用一个而不是另一个呢?性能是否有所不同...?其中哪一个是最快/最有效的?(如果它依赖于实现,我什么时候使用每个实现?)
https://stackoverflow.com/questions/2246772
复制相似问题