在mysql中,可以利用UNION操作符來合并查詢結(jié)果,該操作符用于將兩個以上的SELECT語句的查詢結(jié)果合并到一起,然后去除掉相同的記錄;語法“查詢語句1 union 查詢語句2 union ….”。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
在mysql中,可以利用UNION操作符來合并查詢結(jié)果。
UNION 操作符用于連接兩個以上的 SELECT 語句的結(jié)果組合到一個結(jié)果集合中。多個 SELECT 語句會刪除重復(fù)的數(shù)據(jù)。
語法:
查詢語句1 union 查詢語句2 union ....
應(yīng)用場景:
要查詢的結(jié)果來自于多個表,且多個表沒有直接的連接關(guān)系,但查詢的信息一致時
特點(diǎn):★
1、要求多條查詢語句的查詢列數(shù)是一致的!
2、要求多條查詢語句的查詢的每一列的類型和順序最好一致
3、union關(guān)鍵字默認(rèn)去重,如果使用union all 可以包含重復(fù)項(xiàng)
示例:查詢部門編號>90或郵箱包含a的員工信息
下面我就直接po截圖和代碼
#聯(lián)合查詢 # SELECT * FROM employees WHERE department_id > 90 OR email LIKE '%a%'; #使用UNION聯(lián)合查詢 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
【