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 多條待聯合的查詢語句的查詢列數...