国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

簡單聊一聊SQL中的union和union all

瀏覽:30日期:2023-02-18 16:43:44
目錄
  • 概念
  • 基礎語法
  • 使用技巧
  • 區別
  • 總結

概念

MySQL UNION 操作符用于連接兩個以上的 SELECT 語句的結果組合到一個結果集合中。多個 SELECT 語句會刪除重復的數據。

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

基礎語法

-- 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 內部的每個 SELECT 語句必須擁有相同數量的列

列也必須擁有相似的數據類型

每個 SELECT 語句中的列的順序必須相同

使用技巧

我們發現我們用 UNION 得到的結果都是必須是相同的,這就不得不提 inor 這兩個關鍵字了

-- 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)這幾個select語句中我們比較一下

如果我們想要名字為 sbc 或者 bhy 的用戶我們可以用in、orunion都可以實現

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

這樣遇到較大的數據量就會耗費大量的時間,但是 union 方法的第二種方法就會引用兩次索引。

區別

  • union :對兩個結果集進行并集操作,不包括重復行,相當于distinct,同時進行默認規則的排序
  • union all:對兩個結果集進行并集操作,包括重復行,即所有的結果全部顯示,不管是不是重復;

tips
union all只是合并查詢結果,并不會進行去重和排序操作,在沒有去重的前提下,使用union all的執行效率要比union高

總結

如果遇到沒有索引的表或者只對單個字段進行篩選,其實推薦使用 or 和 in ,看上去優雅簡潔

如果遇到多個索引列的情況,還是推薦使用 union 和 union all

到此這篇關于SQL中union和union all的文章就介紹到這了,更多相關SQL中union和union all內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: MySQL
主站蜘蛛池模板: 国产专区一va亚洲v天堂 | 黄色网网址 | 毛片在线免费播放 | 欧美成人手机视频 | 亚洲天堂视频在线观看 | 免费国产一区二区三区 | 精品国产一区二区三区免费看 | 日韩毛片大全免费高清 | 国产91精品久久久久久久 | 国产成年女一区二区三区 | 国产欧美网站 | 亚洲国产福利精品一区二区 | 久久中文亚洲国产 | 国产精品久久久久久一区二区三区 | 国产91精选在线观看网站 | 怡红院男人的天堂 | 色一欲一性一乱一区二区三区 | 欧美日韩一区二区综合在线视频 | 亚洲一区二区天海翼 | 在线观看视频国产 | 国产欧美日韩视频在线观看一区二区 | 色综合a怡红院怡红院首页 色综合精品久久久久久久 色综合九九 | 久久免费视屏 | 国产精品久久久久久影视 | 成人毛片免费观看视频在线 | a级毛片免费在线观看 | 欧美最新的精品videoss | www.成人网 | 亚洲va中文字幕欧美不卡 | 久久久精品视频免费观看 | 国产成人18黄网站免费网站 | 欧美一区二区三区久久久人妖 | 一级v片| 久久久国产成人精品 | 一级片在线观看视频 | 欧美乱一级在线观看 | 国产aⅴ一区二区 | 日韩欧美视频一区二区在线观看 | 欧美 日韩 国产 在线 | a毛片免费观看完整 | 久久视频6免费观看视频精品 |