2024年3月20日发(作者:)
SQL集合运算 差集 并集 交集
SQL-3标准中提供了三种对检索结果进行集合运算的命令:并集UNION;交集
INTERSECT;差集EXCEPT(在Oracle中叫做 MINUS)。在有些数据库中对此的支持不
够充分,如MySql中只有UNION,没有其他两种。实际上这些运算都可以通过普通的
SQL来实现,虽然有时有些繁琐。
假设有两个表(或视图)s,t,s中有两个字段sa,sb;t中有两个字段ta,tb;
差集EXCEPT:
PLAIN TEXT
SQL:
1. SELECTsaFROMs
2. EXCEPT
3. SELECTtaFROMt;
可以写作
PLAIN TEXT
SQL:
1. SELECTsaFROMs
2. WHEREsaNOTIN
3. (SELECTtaFROMt)
上面的例子中忽略了对s和t单独的条件,这些总可以加入AND条件完成,或者使用
视图。如果是多个字段比较麻烦,如:
PLAIN TEXT
SQL:
1. SELECTsa, sbFROMs
2. EXCEPT
3. SELECTta, tbFROMt;
需要写成
PLAIN TEXT
SQL:
1. SELECTsa, sbFROMs


发布评论