成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

SQL中的union和union?all怎么使用

這篇文章主要介紹了SQL中的union和union all怎么使用的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇SQL中的union和union all怎么使用文章都會(huì)有所收獲,下面我們一起來看看吧。

創(chuàng)新互聯(lián)建站,為您提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計(jì),對(duì)服務(wù)石涼亭等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場的競爭激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!

概念

MySQL UNION 操作符用于連接兩個(gè)以上的 SELECT 語句的結(jié)果組合到一個(gè)結(jié)果集合中。多個(gè) SELECT 語句會(huì)刪除重復(fù)的數(shù)據(jù)。

UNION 操作符選取不同的值,如果允許得到重復(fù)的值,可以使用 UNION ALL

基礎(chǔ)語法

-- union
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

-- union all
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

注意:
UNION 內(nèi)部的每個(gè) SELECT 語句必須擁有相同數(shù)量的列

列也必須擁有相似的數(shù)據(jù)類型

每個(gè) SELECT 語句中的列的順序必須相同

使用技巧

我們發(fā)現(xiàn)我們用 UNION 得到的結(jié)果都是必須是相同的,這就不得不提 inor 這兩個(gè)關(guān)鍵字了

-- in
select * from users 
where name in ('sbc', 'bhy');

-- or
select * from users
where name = 'sbc' or name = 'bhy';

select * from users
where name = 'sbc' or tel = '123456';

-- union
select * from users
where name = 'sbc'
union
select * from users
where name = 'bhy';

select * from users
where name = 'sbc'
union
select * from users
where tel = '123456';

通過在用戶表(users)這幾個(gè)select語句中我們比較一下

如果我們想要名字為 sbc 或者 bhy 的用戶我們可以用in、orunion都可以實(shí)現(xiàn)

如果在較大的數(shù)據(jù)量下差距就會(huì)有明顯的差距,如果 name 字段存在索引,這幾種方法都是不分上下的;可是如果像 or 寫法的第二種情況,那數(shù)據(jù)庫都會(huì)去找兩個(gè)字段各自的索引嗎,答案不是的,數(shù)據(jù)庫只會(huì)尋找一個(gè)字段的索引,而另一個(gè)字段就需要全局查詢

這樣遇到較大的數(shù)據(jù)量就會(huì)耗費(fèi)大量的時(shí)間,但是 union 方法的第二種方法就會(huì)引用兩次索引。

區(qū)別

  • union :對(duì)兩個(gè)結(jié)果集進(jìn)行并集操作,不包括重復(fù)行,相當(dāng)于distinct,同時(shí)進(jìn)行默認(rèn)規(guī)則的排序

  • union all:對(duì)兩個(gè)結(jié)果集進(jìn)行并集操作,包括重復(fù)行,即所有的結(jié)果全部顯示,不管是不是重復(fù);

tips
union all只是合并查詢結(jié)果,并不會(huì)進(jìn)行去重和排序操作,在沒有去重的前提下,使用union all的執(zhí)行效率要比union高

關(guān)于“SQL中的union和union all怎么使用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“SQL中的union和union all怎么使用”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文標(biāo)題:SQL中的union和union?all怎么使用
分享路徑:http://jinyejixie.com/article22/jjhejc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)站營銷定制網(wǎng)站、App開發(fā)、商城網(wǎng)站、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
资阳市| 平武县| 藁城市| 龙海市| 庆安县| 商河县| 临高县| 山阳县| 青河县| 乌兰县| 白山市| 阳城县| 斗六市| 德阳市| 泸定县| 珠海市| 金寨县| 兴城市| 秦皇岛市| 闸北区| 兴城市| 石阡县| 舟山市| 汉阴县| 合山市| 迭部县| 阳信县| 乡城县| 西盟| 阜阳市| 黄大仙区| 将乐县| 三亚市| 乡宁县| 扎鲁特旗| 景洪市| 沧源| 壶关县| 石家庄市| 庆元县| 垦利县|