SQL中的INTERSECT子句用于合并两个SELECT语句,但是INTERSECT语句返回的数据集将是两个SELECT语句的数据集的交集。简而言之,INTERSECT语句将仅返回两个SELECT语句都公用的行。
图形表示形式:
INTERSECT语句将仅返回红色阴影区域中存在的那些行。也就是说,这两个数据集都是相同的。
注意:两个数据集中存在的字段数量和类型必须相同且相似。
语法:
SELECT column1 , column2 ....
FROM table_names
WHERE condition
INTERSECT
SELECT column1 , column2 ....
FROM table_names
WHERE condition
样本表:
客户表:
订单表:
样本查询:
SELECT ID, NAME, Amount, Date
FROM Customers
LEFT JOIN Orders
ON Customers.ID = Orders.Customer_id
INTERSECT
SELECT ID, NAME, Amount, Date
FROM Customers
RIGHT JOIN Orders
ON Customers.ID = Orders.Customer_id;
输出: