- 交集 要获取两个表的交集,你可以使用INNER JOIN或者JOIN:
SELECT *
FROM table1
JOIN table2 ON table1.column_name = table2.column_name;
也可以使用 INTERSECT 关键字
SELECT * FROM table1
INTERSECT
SELECT * FROM table2;
- 并集 要获取两个表的并集,你可以使用UNION:
SELECT * FROM table1
UNION
SELECT * FROM table2;
- 差集 要获取两个表的差集,你可以使用LEFT JOIN或RIGHT JOIN,然后过滤掉匹配的行:
-- 左表中有的而右表中没有的
SELECT table1.*
FROM table1
LEFT JOIN table2 ON table1.column_name = table2.column_name
WHERE table2.column_name IS NULL;
-- 右表中有的而左表中没有的
SELECT table2.*
FROM table1
RIGHT JOIN table2 ON table1.column_name = table2.column_name
WHERE table1.column_name IS NULL;
也可以使用 except关键字
SELECT * FROM table1
except
SELECT * FROM table2;
本文转载自: https://blog.csdn.net/weixin_42493346/article/details/136260156
版权归原作者 甲乙寄几 所有, 如有侵权,请联系我们删除。
版权归原作者 甲乙寄几 所有, 如有侵权,请联系我们删除。