SQL UNION 和 OR,INTERSECT 和 AND 的区别

4

我想了解INTERSECT和AND语句以及UNION语句和OR语句之间的区别。是否有特定情况建议使用其中之一,我是否总是可以使用OR / AND代替UNION / INTERSECT?


INTERSECT和UNION是集合运算符。AND和OR是逻辑运算符。它们之间没有直接关系,因此您的问题没有意义。请重新表述并添加更多细节。 - SQLRaptor
所有四个运算符都很有用,所以没有规定你必须使用其中的一个。话虽如此,我认为你的问题似乎太过宽泛。 - Gordon Linoff
2
虽然我尊重那些对这个问题持有一些负面意见的人,但我认为它确实揭示了SQL中一些典型的误解,特别是对于初学者来说。因此,这个问题确实有一定的提出价值。 - Jinghui Niu
1个回答

5

WHERE 子句中使用 ANDOR 来连接条件。如果完整的布尔表达式计算结果为 true,那么该行将被包含在查询的结果集中。

WHERE country = 'Canada' AND age > 21

使用INTERSECTUNIONSELECT查询之间进行操作。如果一行同时出现在两个结果集中,或者只出现在其中一个结果集中,则该行将包括在复合查询的结果集中。

SELECT customer_id FROM archived_orders
UNION
SELECT customer_id FROM recent_orders

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接