union 聯合 合併查詢結果

2021-06-06 07:13:15 字數 877 閱讀 6802

select  id,name,price from shops where price > 150  union select id,name,price from shops  where price<50

作用:把兩次或多次查詢結果合併在一起,可以來自多張表,多次sql

語句時取出的列明不同,此時以第乙個

sql列明為準

要求: 

兩次查詢的

列數一致

推薦:查詢的每一列對應的列的型別也相同,比如char

型別和tinyint

型別,會自動轉換為

blob

二進位制

如果不同語句中取出的行有完全相同(每個列的值都相同),那麼相同的行將會合併(去重複)如果不去重複,可以加all

不去重複

select  id,name,price from shops where price > 150  union all select id,name,price from shops  where price<50

如果語句中有order  by  

、limit

等,需要用括號包起來,推薦把

order by

放到全部語句最後,對最終合併後的結果排序,才能發揮排序作用,如:

(select  id,name,price from shops where price > 150  order by id desc) 

union all (select id,name,price from shops  where price<50 order by id desc)  order by id desc;

在子句中如果order by 

不配合limit

使用,會被語法分析器優化分析時去掉

mysql聯合查詢union

將多條查詢結果合併成乙個結果 查詢語句1 union all 查詢語句2 查詢部門編號 90或郵箱包含a的員工資訊 select from employees where email like a or department id 90 或者 select from employees where ...

SQL 聯合查詢 Union

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

十 聯合查詢(union)

高階9 聯合查詢 說明 當查詢結果來自於多張表,但多張表之間沒有關聯,這個時候往往使用聯合查詢,也稱為union查詢 語法 select 查詢列表 from 表1 where 篩選條件 union select 查詢列表 from 表2 where 篩選條件 特點 1 多條待聯合的查詢語句的查詢列數...