我遇到了这个示例,但我不明白它的含义。
(SELECT drinker FROM Frequents) EXCEPT ALL (SELECT drinker FROM Likes);
关系:常客(饮料,酒吧),喜欢(饮料,啤酒)
在这种情况下,ALL会做什么?结果与下面的查询有何不同?
(SELECT drinker FROM Frequents) EXCEPT (SELECT drinker FROM Likes);
SQL EXCEPT运算符采用一个查询的不同行,并返回未出现在第二个结果集中的行。EXCEPT ALL运算符不会删除重复项。出于行消除和重复删除的目的,EXCEPT运算符不区分NULL。
EXCEPT ALL会返回第一个表中没有的所有记录,而第二个表中不存在所有记录,而将重复记录保留原样。不幸的是,SQL Server不支持该运算符。