MariaDB INTERSECT运算符

本文概述

  • 使用INTERSECT运算符返回单个字段
  • 带WHERE子句的INTERSECT运算符
INTERSECT运算符用于返回2个或更多表的交集。如果两个表中都存在一条记录, 则该记录将包含在INTERSECT结果中。否则, 将在” 相交” 结果中将其省略。
句法:
SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions] INTERSECT SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions];

【MariaDB INTERSECT运算符】图像表示
MariaDB INTERSECT运算符

文章图片
注意:MariaDB不支持INTERSECT运算符, 但是可以通过使用IN运算符模拟INTERSECT查询来看到相同的内容, 如下所示: 使用INTERSECT运算符返回单个字段 以下是对INTERSECT运算符的常规查询, 但不会在MariaDB中支持。
SELECT student_name FROM Student INTERSECT SELECT student_name FROM Students;

使用以下之一:
SELECT Students.student_name FROM Students WHERE Students.student_name IN (SELECT Student.student_name FROM Student);

输出
MariaDB INTERSECT运算符

文章图片
它仅显示表” Students” 和” Student” 之间的通用名称。
带WHERE子句的INTERSECT运算符 以下是对INTERSECT运算符的常规查询, 但不会在MariaDB中支持。
SELECT student_name FROM Student INTERSECT SELECT student_name FROM Students, WHERE salary > 1500;

使用以下语法:
SELECT Students.student_name FROM Students WHERE Students.student_id < 10 AND Students.student_id IN (SELECT Student.student_id FROM Student WHERE Student.salary > 1500);

输出
MariaDB INTERSECT运算符

文章图片
注意:你也可以对多个表达式使用INTERSECT运算符。

    推荐阅读