INTERSECT 子句仅返回同时出现在第一个和第二个查询结果中的行。两个查询的列数、顺序和类型必须一致。INTERSECT 的结果可以包含重复行。
如果未指定括号,多个 INTERSECT 语句将按从左到右的顺序执行。INTERSECT 运算符的优先级高于 UNION 和 EXCEPT 子句。
示例
Query
Response
INTERSECT 就很有用。只要两个查询的结果包含相同的列,就可以对其结果执行交集运算。例如,假设我们有数百万行历史加密货币数据,其中包含交易价格和交易量:
Query
Response
holdings 的表,其中包含我们持有的加密货币列表,以及每种货币的持有数量:
Query
INTERSECT 来回答这类问题:“我们持有的哪些加密货币曾以高于 100 美元的价格交易过?”:
Query
Response
INTERSECT DISTINCT
INTERSECT 后添加 DISTINCT,以消除结果中的重复行:
Query
Response