SQL語句組合查詢 UNION

2022-07-20 18:57:11 字數 1268 閱讀 7871

1.使用union  

union 可以涉及編寫多條select語句,首先看看單條語句

第一條select語句把illinois,indiana,michigan等州的縮寫傳遞給in子句,檢索出這些州的所有行.第二條select利用簡單的相等測試找出所有的'fun4all'的cust_name

接下來我們使用union來組合兩條語句,如下:

使用union關鍵字分隔兩條select語句,輸出組合成乙個查詢結果集.

以上處理結果跟下面只用where語句來處理是一樣的

在這個簡單的例子中,使用union 可能比使用where子句更為複雜.但是對於較複雜的過濾條件,或者從多個表中檢索資料的情形,使用union

可能會使處理更簡單.

union的使用規則:

1,必須包含兩條或者兩條以上的select語句

2.union中的每個查詢必須包含相同的列,表示式或聚集函式

3.列資料必須相容:型別不必完全相同,但必須是dbms可以隱含轉換的型別

4.select 語句的輸出用order by子句排序.在用union組合查詢時,只能使用一條order by子句,它必須位於最後一條select語句之後.

另外注意:union使用的時候會自動過濾查詢結果重複的行,如果想匹配所有的結果(顯示重複的結果)可以使用 union all關鍵字,如下:

可以看到使用union all查詢的結果是顯示重複行的.

union還支援另外兩種union  except(有時稱minus)可用來檢索只在第乙個表中存在而在第二個表中不存在的行.intersect可用來檢索兩個表中都存在的行.

實際上這些union用得比較少,因為相同的結果可利用聯結得到.

MySQL組合查詢UNION

組合查詢 union,放在兩個select語句之間,如果有n個select語句,則用n 1個union.重複行也出現 union all 排序 order by 寫在所有select語句最後,只用一次。union可簡化where語句 union適合用於查詢多個表的情況下。多個查詢 多條select語...

SQL 聯合查詢 Union

集合運算子是針對兩個集合操作的,兩個集合必須有相同的列數 列具有相同的資料型別 至少能夠隱式轉換的 最終輸出的集合的列名是,由第乙個集合的列名來確定的 可以用來連線多個結果 注意 聯合 union 與連線不一樣 join 聯合 將多個結果集,合併為乙個結果集。union 去除重複,相當於預設應用了d...

sql 的聯合查詢union

乙個select查詢出來的結果其實也是一張表,而union就是把多個select查詢的結果 表 接成乙個結果。比如 select name,age,from comp user 執行後的結果為 周1,18,男 周2,20,女 select name 1,age 1,1 from dept user ...