SQL UNION 与 OR、INTERSECT 与 AND

err*_*und 3 sql union intersect

我想知道 INTERSECT 和 AND 语句以及 UNION 语句和 OR 语句之间的区别是什么。是否存在建议使用其中之一的特定场景,并且我可以始终使用 OR/AND 而不是 UNION/INTERSECT 吗?

Bil*_*win 5

在子句中的术语之间使用ANDor 。如果完整的布尔表达式计算结果为 true,则该行将包含在查询的结果集中。ORWHERE

WHERE country = 'Canada' AND age > 21
Run Code Online (Sandbox Code Playgroud)

在查询之间使用INTERSECTor 。如果某行分别出现在两个结果集中或任一结果集中,则该行将包含在复合查询的结果集中。UNIONSELECT

SELECT customer_id FROM archived_orders
UNION
SELECT customer_id FROM recent_orders
Run Code Online (Sandbox Code Playgroud)