📜  SQL |相交和除外子句

📅  最后修改于: 2022-05-13 01:55:40.790000             🧑  作者: Mango

SQL |相交和除外子句

1. INTERSECT 子句:
顾名思义,intersect 子句用于提供两个 select 语句相交的结果。这意味着结果包含两个 SELECT 语句共有的所有行。

句法 :

SELECT column-1, column-2 …… 
FROM table 1
WHERE…..

INTERSECT

SELECT column-1, column-2 …… 
FROM table 2
WHERE…..

例子 :

包含员工详细信息的表 1
表格1
表 2 包含获得奖金的员工的详细信息
表2

询问 :

SELECT ID, Name, Bonus 
FROM
table1 
LEFT JOIN
table2
ON table1.ID = table2.Employee_ID

INTERSECT

SELECT ID, Name, Bonus 
FROM
table1 
RIGHT JOIN
table2
ON table1.ID = table2.Employee_ID;
 

结果 :
表3 2. EXCEPT 子句:
这与 INTERSECT 子句完全相反。在这种情况下,结果包含除了两个 SELECT 语句的公共行之外的所有行。

句法 :

SELECT column-1, column-2 …… 
FROM table 1
WHERE…..

EXCEPT

SELECT column-1, column-2 …… 
FROM table 2
WHERE…..

例子 :

包含员工详细信息的表 1
表格1

表 2 包含获得奖金的员工的详细信息
表2

询问 :

SELECT ID, Name, Bonus 
FROM
table1 
LEFT JOIN
table2
ON table1.ID = table2.Employee_ID

EXCEPT

SELECT ID, Name, Bonus 
FROM
table1 
RIGHT JOIN
table2
ON table1.ID = table2.Employee_ID;

结果 :
表4