小编典典

试图理解sql查询中的“全部接受”

sql

我遇到了这个示例,但我不明白它的含义。

(SELECT drinker FROM Frequents)
     EXCEPT ALL
(SELECT drinker FROM Likes);

关系:常客(饮料,酒吧),喜欢(饮料,啤酒)

在这种情况下,ALL会做什么?结果与下面的查询有何不同?

(SELECT drinker FROM Frequents)
     EXCEPT
(SELECT drinker FROM Likes);

阅读 185

收藏
2021-04-22

共1个答案

小编典典

SQL EXCEPT运算符采用一个查询的不同行,并返回未出现在第二个结果集中的行。EXCEPT
ALL运算符不会删除重复项。出于行消除和重复删除的目的,EXCEPT运算符不区分NULL。

EXCEPT ALL会返回第一个表中没有的所有记录,而第二个表中不存在所有记录,而将重复记录保留原样。不幸的是,SQL Server不支持该运算符。

2021-04-22