SQL NOT IN和SQL EXCEPT,UNION和OR,AND和INTERSECT之间的区别?

时间:2012-06-01 14:29:05

标签: sql

在我的rdbms上,这些表达式提供完全相同的输出:

select avd from avdelning where avd not in(select avd from försäljning) order by avd

select avd from avdelning except (select avd from försäljning) order by avd

您可以使用SQL EXCEPT编写的内容可以使用SQL NOT IN编写,同样适用于UNIONOR以及AND和{{ 1}}。你能告诉我这些关键词之间的区别吗?例如,INTERSECTselect * from person where person not in (select * from person where name='foo')相同,其他构造类似。它们真的相同吗?

select * from person except where name='foo'

1 个答案:

答案 0 :(得分:1)

这可能会有所帮助:

http://www.vbdotnetheaven.com/uploadfile/sscheral/sql-union-sql-intersect-sql-except-sql-exists-and-sql-case-for-beginners/

实际上,我认为其中一个“差异”是INTERSECT和EXCEPT没有在所有平台上实现(这是我认为Sung会建议的)。