📜  MariaDB相交运算符

📅  最后修改于: 2020-11-29 05:56:20             🧑  作者: Mango

MariaDB 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运算符,但是可以通过使用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);

输出:

它仅显示表“ 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);

输出:


注意:您也可以对多个表达式使用INTERSECT运算符。