本文概述
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);
输出
评论前必须登录!
注册