這篇文章主要講解了“MySQL中union怎么使用”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“mysql中union怎么使用”吧!
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)頁(yè)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、嘉善網(wǎng)站維護(hù)、網(wǎng)站推廣。
mysql中,union用于將多個(gè)select語(yǔ)句的結(jié)果組合到一個(gè)結(jié)果集中,并刪除結(jié)果集中的重復(fù)數(shù)據(jù),語(yǔ)法為“select column,...from table1 union select column,...from table2”。
本教程操作環(huán)境:windows10系統(tǒng)、mysql8.0.22版本、Dell G3電腦。
1.mysql union 語(yǔ)法
mysql union 用于把來(lái)自多個(gè)select 語(yǔ)句的結(jié)果組合到一個(gè)結(jié)果集合中。語(yǔ)法為:
select column,......from table1 union [all] select column,...... from table2 ...
在多個(gè)select 語(yǔ)句中,對(duì)應(yīng)的列應(yīng)該具有相同的字段屬性,且第一個(gè)select 語(yǔ)句中被使用的字段名稱也被用于結(jié)果的字段名稱。
1.1 union 與 union all 的區(qū)別
當(dāng)使用union 時(shí),mysql 會(huì)把結(jié)果集中重復(fù)的記錄刪掉,而使用union all ,mysql 會(huì)把所有的記錄返回,且效率高于union 。
2. mysql union 用法示例
union 常用與數(shù)據(jù)類似的兩張或多張表查詢,如不同的數(shù)據(jù)分類表,或者是數(shù)據(jù)歷史表等,下面是用于測(cè)試的兩張表;
2.1使用 UNION 查詢
查詢兩張表中的文章 id 號(hào)及標(biāo)題,并去掉重復(fù)記錄:
SELECT aid,title FROM article UNION SELECT bid,title FROM blog
返回查詢結(jié)果如下:
2.2.UNION 查詢結(jié)果說(shuō)明
重復(fù)記錄是指查詢中各個(gè)字段完全重復(fù)的記錄,如上例,若 title 一樣但 id 號(hào)不一樣算作不同記錄。
第一個(gè) SELECT 語(yǔ)句中被使用的字段名稱也被用于結(jié)果的字段名稱,如上例的 aid。
各 SELECT 語(yǔ)句字段名稱可以不同,但字段屬性必須一致。
3.使用 UNION ALL 查詢
查詢兩張表中的文章 id 號(hào)及標(biāo)題,并返回所有記錄:
SELECT aid,title FROM article UNION ALL SELECT bid,title FROM blog
返回查詢結(jié)果如下:
顯然,使用 UNION ALL 的時(shí)候,只是單純的把各個(gè)查詢組合到一起而不會(huì)去判斷數(shù)據(jù)是否重復(fù)。因此,當(dāng)確定查詢結(jié)果中不會(huì)有重復(fù)數(shù)據(jù)或者不需要去掉重復(fù)數(shù)據(jù)的時(shí)候,應(yīng)當(dāng)使用 UNION ALL 以提高查詢效率。
感謝各位的閱讀,以上就是“mysql中union怎么使用”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)mysql中union怎么使用這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!