用SQL表達並交差操作

2021-08-19 14:11:28 字數 737 閱讀 1696

注:

所有的下劃線+斜體語句都是非必須語句

sql語句:

select…  from…  where…

並運算(union) / 交運算(intersect) / 差運算(except)  all

select…  from…  where…  

文字描述:

假設第乙個子查詢(s-f-w)得到的元組編號是①②⑤,第二個子查詢(s-f-w)得到的元組編號是①②④

那麼union運算得出的元組就為①②④⑤,intersect運算得出的元組就為①②

而union all運算得出的元組就為①①②②④⑤,也就是會出現重複元組

特殊:一般來講,並/差/交運算會自動去重,也就是預設"distinct",而加上all之後就不會

有些dbms例如mysql並不支援交運算(intersect)或差運算(except)

示例:①假定所有學生都有選課,求沒學過002號課程的學生學號

select distinct st from sc

except

select st from sc where ct = '002';

或者

select distinct st from sc sc1

where not exists(select * from sc

where ct = '002' and st = sc1.st);

sql並 交 差的處理

並集 union eg 求學過002或者003課程同學的學號 select s from sc where c 002 union select s from sc where c 003 等同於select s from sc where c 002 or c 003 交集 intersect e...

sql中的並 交 差

集合運算連線 有時候,使用者希望在sql查詢中利用關係代數中的集合運算 並 交 差 來組合關係,sql為此提供了相應的運算子 union intersect except oracle的minus?分別對應於集合運算的 它們用於兩個查詢之間,對每個查詢都要用圓括號括起來。對於不同的dbms,支援的集...

字典相關函式 集合相關的操作 交差並補

dic dic top 廉頗 dic middle 妲己 dic bottom 孫尚香 print dic 1.fromkeys 使用一組鍵和預設值建立字典 快速定義字典 lst a b c fromkeys 塞滿鍵的容器,預設值 dic fromkeys lst,none print dic 1....