- 交集
要获取两个表的交集,你可以使用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;
本文介绍了如何在SQL中使用INNERJOIN、JOIN、INTERSECT获取两个表的交集,UNION获取并集,以及LEFTJOIN/RIGHTJOIN和except来获取差集。详细解释了各种操作的语法和逻辑。
1170

被折叠的 条评论
为什么被折叠?



