檢索資料時有時候需要把兩個或多個查詢結果結合在一起,這叫做複合查詢SQL運算符可以將兩個以上的查詢結合成一
個。
聯集運算符
- UNION:結合A查詢的結果集再結合B的結果集中不包含與A重複的結果C,形成R=A+B-C。
- 查詢A和查詢B的SELECT子句選取欄位或表達式個數必須一樣
- 兩個的查詢語句的SELECT檢索的欄位或表達式的資料型態相同,但名稱可以不同
- 同一個查詢語句SELECT子句內欄位資料類型可以不同
- 可以用小括弧改變執行順序
- 在檢查重複值時,不會忽略NULL
- 可以用ORDER BY子句 ,但是要放在最後面
- UNION ALL:聯合A查詢及B查詢結果集,且保留B查詢的結果與A重複的部分C,使得R=A+B
交集運算符
- INTERSEC:取出A查詢及B查詢共同部分C,使查詢結果R=C
- A和B查詢的欄位個數和資料類型一定要相同,但欄位名可以不同
- A查詢和B查詢結果反向排序不會影響
- 交集不會忽略空值
差集運算符
- MINUS:從A查詢結果集減去B查詢結果集與A結果集重複的地方C,使得R=A-C
- A和B查詢的欄位個數和資料類型一定要相同
- 差集運算結果集為A查詢的結果集內部重複,且不曾出現在B查詢結果集之資料