mysql聯合查詢(UNION)
阿新 • • 發佈:2019-01-06
mysql聯合查詢(UNION)
下面我就直接po截圖和程式碼
#聯合查詢 /* union 聯合 合併:將多條查詢語句的結果合併成一個結果 語法: 查詢語句1 union 查詢語句2 union ... 應用場景: 要查詢的結果來自於多個表,且多個表沒有直接的連線關係,但查詢的資訊一致時 特點:★ 1、要求多條查詢語句的查詢列數是一致的! 2、要求多條查詢語句的查詢的每一列的型別和順序最好一致 3、union關鍵字預設去重,如果使用union all 可以包含重複項 */ USE myemployees; #引入的案例:查詢部門編號>90或郵箱包含a的員工資訊 # SELECT * FROM employees WHERE department_id > 90 OR email LIKE '%a%'; #使用UNION聯合查詢 SELECT * FROM employees WHERE department_id > 90 UNION SELECT * FROM employees WHERE email LIKE '%a%'; # USE test; #案例:查詢中國使用者中女性的資訊以及外國使用者中女性的使用者資訊 SELECT c.`c_id`, c.`c_name`, c.`c_sex` FROM china c WHERE c_sex = '女' UNION SELECT f.`f_id`, f.`f_name`, f.`f_sex` FROM foreignUser f WHERE f_sex = 'female'; #china表和foreignUser表中都有66號韓梅梅(UNION會去重) SELECT c.`c_id`, c.`c_name` FROM china c WHERE c_sex = '女' UNION SELECT f.`f_id`, f.`f_name` FROM foreignUser f WHERE f_sex = 'female'; #china表和foreignUser表中都有66號韓梅梅(UNION ALL 不會去重) SELECT c.`c_id`, c.`c_name` FROM china c WHERE c_sex = '女' UNION ALL SELECT f.`f_id`, f.`f_name` FROM foreignUser f WHERE f_sex = 'female';
使用UNION
使用UNION ALL
#聯合查詢
/*
union 聯合 合併:將多條查詢語句的結果合併成一個結果
語法:
查詢語句1
union
查詢語句2
union
...
應用場景:
要查詢的結果來自於多個表,且多個表沒有直接的連線關係,但查詢的資訊一致時
特點:★
1、要求多條查詢語句的查詢列數是一致的!
2、要求多條查詢語句的查詢的每一列的型別和順序最好一致
3、union關鍵字預設去重,如果使用union all 可以包含重複項
*/