交集
假设有两个表 table1 和 table2,你可以使用 INNER JOIN 来获取它们的交集。
SELECT *
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;
这将返回两个表中列 column_name 相等的行,即为交集。
差集
使用 NOT IN:
假设你想找到在 table1 中但不在 table2 中的行。
SELECT *
FROM table1
WHERE column_name NOT IN (SELECT column_name FROM table2);
使用 LEFT JOIN 和 IS NULL:
另一种找到差集的方法是使用 LEFT JOIN 和 IS NULL:
SELECT table1.*
FROM table1
LEFT JOIN table2 ON table1.column_name = table2.column_name
WHERE table2.column_name IS NULL;
这将返回在 table1 中但不在 table2 中的行。
注意:在使用 NOT IN 或 IS NULL 时,确保列中没有 NULL 值,否则可能得到意外的结果。如果有可能存在 NULL 值,你可能需要在条件中添加额外的检查。
转载请注明出处:http://www.zyzy.cn/article/detail/8028/MySQL