-- 求交集:A交B
SELECT * FROM AA_WEEK X WHERE X.CODE IN (1,2,3) -- 集合A
INTERSECT -- 集合B
SELECT * FROM AA_WEEK X WHERE X.CODE IN (2,3,4);
2 'Tuesday' 'Tues'
3 'Wednesday' 'Wed'
说明:INTERSECT和INTERSECT ALL是等效的。
二、差集运算:EXCEPT、EXCEPT ALL
-- 求差集:A减B
SELECT * FROM AA_WEEK X WHERE X.CODE IN (1,2,3) -- 集合A
EXCEPT -- 集合B
SELECT * FROM AA_WEEK w WHERE w.CODE IN (2,3,4);
-- 求合集:A+B(不消除重复行)
SELECT * FROM AA_WEEK X WHERE X.CODE IN (1,2,3) -- 集合A
UNION ALL -- 集合B
SELECT * FROM AA_WEEK X WHERE X.CODE IN (2,3,4);
---------------------------------
2 'Tuesday' 'Tues'
3 'Wednesday' 'Wed'
4 'Thursday' 'Thurs'
1 'Monday' 'Mon'
2 'Tuesday' 'Tues'
3 'Wednesday' 'Wed'
-- 求合集:A+B(消除重复行)
SELECT * FROM AA_WEEK X WHERE X.CODE IN (1,2,3) -- 集合A
UNION -- 集合B
SELECT * FROM AA_WEEK X WHERE X.CODE IN (2,3,4);
---------------------------------
1 'Monday' 'Mon'
4 'Thursday' 'Thurs'
2 'Tuesday' 'Tues'
3 'Wednesday' 'Wed'