一:MySQL交集INTERSECT运算符
1.介绍
INTERSECT
运算符是一个集合运算符,它只返回两个查询或更多查询的交集。
语法:
INTERSECT
运算符比较两个查询的结果,并返回由左和右查询输出的不同行记录。
规则:
- 列的顺序和数量必须相同。
- 相应列的数据类型必须兼容或可转换。
请注意,SQL标准有三个集合运算符,包括UNION,INTERSECT
和MINUS。
2.mysql不支持这个
不幸的是,MySQL不支持INTERSECT
操作符。 但是我们可以模拟INTERSECT
操作符。
3.准备环境
4.dictinct与inner join模拟
工作原理:
上面语句是怎么工作的?
-
INNER JOIN
子句从左表和右表返回所有符合条件的行记录。 -
DISTINCT
运算符删除重复行。
5.IN运算符模拟
上面查询语句是如何工作的?
- 子查询返回第一个结果集。
- 外部查询使用
IN
运算符仅选择第一个结果集中的值。DISTINCT
运算符确保只选择不同的值。