1.並集:將查詢出的兩個結果合併成乙個結果集
– union 去重,合併後的結果都是唯一– union all不去重,合併後的結果有可能出現重複的
--oracle、mysql、sql server都支援下面的並集查詢
select classid from student
union
select classid from class;
select classid from student
union
allselect classid from class;
結果集:
2.交集:返回兩個查詢結果集中相同部分的結果
select classid from student
intersect
select classid from class;
-- oracle、sql server中的查詢方法
select s.
*from
(select classid from student) s
join
(select classid from class) c
on s.classid=c.classid;
-- mysql資料庫中的查詢方法(內連線/等值連線)
結果集:
3.差集:返回第乙個查詢結果中與第二個查詢結果不相同的那部分記錄。 查詢結果1-查詢結果2
select classid form student
minus
select classid from classid -- oracle 資料庫中的查詢方法
select classid form student
except
select classid from classid -- sql server資料庫中的查詢方法
select classid
from student
where classid notin(
select classid from class)
;-- mysql 查詢方法1
select s.
*from
(select classid from student) s
left
join
(select classid from class) c
on s.classid=c.classid;
where c.classid is
null
;-- mysql 查詢方法2(左外連線)
結果集:
總結:1.oracle資料庫中的關鍵字,union 並集,去重 ; union all 並集,不去重 ; intersect 交集,取相同的記錄;minus差集,主表 減去 從表中與主表相同的記錄
2.sql server資料庫中的關鍵字,union 並集,去重 ; union all 並集,不去重 ; intersect 交集,取相同的記錄;except差集,主表 減去 從表中與主表相同的記錄
3.mysql資料庫中只有union和union all關鍵字,其他方法需要聯絡實際需求用sql語法取獲取記錄
交集並集差集
1 內連線 select from student a inner join sc b on a.sno b.sno 左連線 select from student a left join sc b on a.sno b.sno 差集 select sno from student except s...
shell bash 交集 並集 差集
方法一 直接用檔名 取兩個文字檔案的並集 交集 差集 並 sort m sort file1 uniq sort file2 uniq uniq 交 sort m sort file1 uniq sort file2 uniq uniq d 差 file1 file2 sort m sort fil...
PHP 交集 並集 差集
array flip array splice 並集 array merge 過濾 array filter 去重 array unique 差集 array diff array diff 函式返回兩個陣列的差集陣列。該陣列包括了所有在被比較的陣列中,但是不在任何其他引數陣列中的鍵值。a1 arr...