sql的集合运算

使用sql进行集合运算

①交集
内连接

SELECT * FROM table_a
INNER JOIN table_b ON table_a.id = table_b.id;

这里写图片描述

②并集
全外连接

SELECT * FROM table_a
FULL OUTER JOIN table_b ON table_a.id = table_b.id;

这里写图片描述
有的DBMS不支持全外连接,比如MYSQL,可以使用union all来实现全外连接:

SELECT * FROM table_a
INNER JOIN table_b ON table_a.id = table_b.id
UNION ALL
SELECT * FROM table_a
LEFT OUTER JOIN table_b ON table_a.id = table_b.id
UNION ALL
SELECT * FROM table_a
RIGHT OUTER JOIN table_b ON table_a.id = table_b.id

③差集
左外连接、右外连接

SELECT * FROM table_a
RIGHT OUTER JOIN table_b ON table_a.id = table_b.id
WHERE table_a.id IS NULL;

这里写图片描述

④异或集
全外连接-内连接

SELECT * FROM table_a
FULL OUTER JOIN table_b ON table_a.id = table_b.id
where table_a.id IS NULL 
   OR table_b.id IS NULL;

这里写图片描述

猜你喜欢

转载自blog.csdn.net/a_842297171/article/details/80427342