在mysql中,可以利用UNION操作符來(lái)合并查詢(xún)結(jié)果,該操作符用于將兩個(gè)以上的SELECT語(yǔ)句的查詢(xún)結(jié)果合并到一起,然后去除掉相同的記錄;語(yǔ)法“查詢(xún)語(yǔ)句1 union 查詢(xún)語(yǔ)句2 union ….”。

本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
在mysql中,可以利用UNION操作符來(lái)合并查詢(xún)結(jié)果。
UNION 操作符用于連接兩個(gè)以上的 SELECT 語(yǔ)句的結(jié)果組合到一個(gè)結(jié)果集合中。多個(gè) SELECT 語(yǔ)句會(huì)刪除重復(fù)的數(shù)據(jù)。
語(yǔ)法:
查詢(xún)語(yǔ)句1 union 查詢(xún)語(yǔ)句2 union ....
應(yīng)用場(chǎng)景:
要查詢(xún)的結(jié)果來(lái)自于多個(gè)表,且多個(gè)表沒(méi)有直接的連接關(guān)系,但查詢(xún)的信息一致時(shí)
特點(diǎn):★
1、要求多條查詢(xún)語(yǔ)句的查詢(xún)列數(shù)是一致的!
2、要求多條查詢(xún)語(yǔ)句的查詢(xún)的每一列的類(lèi)型和順序最好一致
3、union關(guān)鍵字默認(rèn)去重,如果使用union all 可以包含重復(fù)項(xiàng)
示例:查詢(xún)部門(mén)編號(hào)>90或郵箱包含a的員工信息
下面我就直接po截圖和代碼



#聯(lián)合查詢(xún) # SELECT * FROM employees WHERE department_id > 90 OR email LIKE '%a%'; #使用UNION聯(lián)合查詢(xún) SELECT * FROM employees WHERE department_id > 90 UNION SELECT * FROM employees WHERE email LIKE '%a%'; # USE test; #案例:查詢(xún)中國(guó)用戶(hù)中女性的信息以及外國(guó)用戶(hù)中女性的用戶(hù)信息 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號(hào)韓梅梅(UNION會(huì)去重) 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號(hào)韓梅梅(UNION ALL 不會(huì)去重) 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

【
站長(zhǎng)資訊網(wǎng)