今天研究了一下oracle 交集和並集,下面把我經過查詢資料,測試後,整理如下:
1.並集
表1:
insert into student1 values(1,'學生1');
insert into student1 values(1,'學生2');
insert into student1 values(1,'學生3');
表2:
insert into student2 values(1,'學生1');
insert into student2 values(1,'學生4');
insert into student2 values(1,'學生5');
並集語句:
[sql]view plain
copy
?select *from student1
union all
select *from student2
select *from student1查後後結果union all
select *from student2
看到測試結果就明白了,union all對兩個結果集進行並集操作,包括重複行,不進行排序。
如果去掉all 關鍵字,
看到結果,得出的結論是:對兩個結果集進行並集操作,不包括重複行,同時進行預設規則的排序
2.交集
[delphi]view plain
copy
?select *from student1
intersect
select *from student2
select *from student1結果為:intersect
select *from student2
是的,返回查詢結果中相同的部分即是他們的交集
補充一下:minus 關鍵字
查詢時候把錶1放在前面,
[sql]view plain
copy
?select *from student1
minus
select *from student2
select *from student1結果為:minus
select *from student2
查詢時候把錶2放在前面,
[sql]view plain
copy
?select *from student2
minus
select *from student1
select *from student2結果為:minus
select *from student1
使用 minus 返回在第乙個查詢結果中與第二個查詢結果不相同的那部分行記錄,即兩個結果的差集
使用以上查詢的結果集有兩個最基本的規則:
(1)所有查詢中的列數和列的順序必須相同。
(2)資料型別必須相容
ORACLE查詢交集 並集
1 查詢同時擁有某兩個欄位的所有表 select table name from user tab columns where column name 欄位1 大寫 intersect select table name from user tab columns where column name...
oracle中交集,並集,差集詳解
union union all運算 返回兩個結果集的並集,即將兩個查詢的結果集進行合併。union all 不過濾重複資料。union 過濾重複資料 select name from driver info where firm id 0 union all select name from dri...
Oracle 多個查詢結果的交集 差集和並集
1,交集 intersect運算 返回查詢結果中相同的部分。select user id from table1 intersect select user id from table2 2,差集 minus運算 返回在第乙個查詢結果中與第二個查詢結果不相同的那部分行記錄。select user i...