//** 准备2个测试表t1、t2: **除了union all 其他都去重
SQL> select * from t1;
ID NA
-- --
5 a
6 a
1 a
2 b
3 c
4 d
6 rows selected.
SQL> select * from t2;
ID NA
-- --
5 aa
6 a
1 aa
2 bb
3 cc
4 dd
6 rows selected.
SQL>
//**1:union: 并集并且去重、按照第一个查询语句的第一个字段升序排序(默认)
SQL> select * from t1 union select * from t2;
ID NA
-- --
1 a
1 aa
2 b
2 bb
3 c
3 cc
4 d
4 dd
5 a
5 aa
6 a
11 rows selected.
//**2:union all:并集相当于两个查询语句的结果堆积、无序、不去重
SQL> select * from t1 union all select * from t2;
ID NA
-- --
5 a
6 a
1 a
2 b
3 c
4 d
5 aa
6 a
1 aa
2 bb
3 cc
ID NA
-- --
4 dd
12 rows selected.
SQL>
//**3:intersect: 取交集
SQL> select * from t1 intersect select * from t2;
ID NA
-- --
6 a
SQL>
//** 4: minus :t1 、t2 两个表 **就是把交集去掉、把t2去掉。(*)
SQL> select * from t1 minus select * from t2;
ID NA
-- --
1 a
2 b
3 c
4 d
5 a
SQL>
SQL> select * from t1;
ID NA
-- --
5 a
6 a
1 a
2 b
3 c
4 d
6 rows selected.
SQL> select * from t2;
ID NA
-- --
5 aa
6 a
1 aa
2 bb
3 cc
4 dd
6 rows selected.
SQL>
//**1:union: 并集并且去重、按照第一个查询语句的第一个字段升序排序(默认)
SQL> select * from t1 union select * from t2;
ID NA
-- --
1 a
1 aa
2 b
2 bb
3 c
3 cc
4 d
4 dd
5 a
5 aa
6 a
11 rows selected.
//**2:union all:并集相当于两个查询语句的结果堆积、无序、不去重
SQL> select * from t1 union all select * from t2;
ID NA
-- --
5 a
6 a
1 a
2 b
3 c
4 d
5 aa
6 a
1 aa
2 bb
3 cc
ID NA
-- --
4 dd
12 rows selected.
SQL>
//**3:intersect: 取交集
SQL> select * from t1 intersect select * from t2;
ID NA
-- --
6 a
SQL>
//** 4: minus :t1 、t2 两个表 **就是把交集去掉、把t2去掉。(*)
SQL> select * from t1 minus select * from t2;
ID NA
-- --
1 a
2 b
3 c
4 d
5 a
SQL>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31399171/viewspace-2128650/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31399171/viewspace-2128650/