📅  最后修改于: 2020-11-29 05:56:20             🧑  作者: Mango
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运算符的常规查询,但不会在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”之间的通用名称。
以下是对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运算符。