电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:43日期: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
主站蜘蛛池模板: 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 单机除尘器 骨架-脉冲除尘器设备生产厂家-润天环保设备 | 成都网站建设制作_高端网站设计公司「做网站送优化推广」 | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | 超细粉碎机|超微气流磨|气流分级机|粉体改性设备|超微粉碎设备-山东埃尔派粉碎机厂家 | 众品地板网-地板品牌招商_地板装修设计_地板门户的首选网络媒体。 | 天津拓展_天津团建_天津趣味运动会_天津活动策划公司-天津华天拓展培训中心 | 【官网】博莱特空压机,永磁变频空压机,螺杆空压机-欧能优 | 集装袋吨袋生产厂家-噸袋廠傢-塑料编织袋-纸塑复合袋-二手吨袋-太空袋-曹县建烨包装 | 植筋胶-粘钢胶-碳纤维布-碳纤维板-环氧砂浆-加固材料生产厂家-上海巧力建筑科技有限公司 | 东莞市天进机械有限公司-钉箱机-粘箱机-糊箱机-打钉机认准东莞天进机械-厂家直供更放心! | 517瓜水果特产网|一个专注特产好物的网站| 双工位钻铣攻牙机-转换工作台钻攻中心-钻铣攻牙机一体机-浙江利硕自动化设备有限公司 | 基本型顶空进样器-全自动热脱附解吸仪价格-AutoHS全模式-成都科林分析技术有限公司 | 垃圾处理设备_餐厨垃圾处理设备_厨余垃圾处理设备_果蔬垃圾处理设备-深圳市三盛环保科技有限公司 | 网站建设,北京网站建设,北京网站建设公司,网站系统开发,北京网站制作公司,响应式网站,做网站公司,海淀做网站,朝阳做网站,昌平做网站,建站公司 | 减速机电机一体机_带电机减速器一套_德国BOSERL电动机与减速箱生产厂家 | 蓝鹏测控平台 - 智慧车间系统 - 车间生产数据采集与分析系统 | 海峰资讯 - 专注装饰公司营销型网站建设和网络营销培训 | LCD3D打印机|教育|桌面|光固化|FDM3D打印机|3D打印设备-广州造维科技有限公司 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 新能源汽车教学设备厂家报价[汽车教学设备运营18年]-恒信教具 | TPM咨询,精益生产管理,5S,6S现场管理培训_华谋咨询公司 | 油冷式_微型_TDY电动滚筒_外装_外置式电动滚筒厂家-淄博秉泓机械有限公司 | LCD3D打印机|教育|桌面|光固化|FDM3D打印机|3D打印设备-广州造维科技有限公司 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 托盘租赁_塑料托盘租赁_托盘出租_栈板出租_青岛托盘租赁-优胜必达 | 盘古网络技术有限公司| 清水-铝合金-建筑模板厂家-木模板价格-铝模板生产「五棵松」品牌 | 超声波乳化机-超声波分散机|仪-超声波萃取仪-超声波均质机-精浩机械|首页 | 避光流动池-带盖荧光比色皿-生化流动比色皿-宜兴市晶科光学仪器 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | 山东led显示屏,山东led全彩显示屏,山东LED小间距屏,临沂全彩电子屏-山东亚泰视讯传媒有限公司 | 无锡装修装潢公司,口碑好的装饰装修公司-无锡索美装饰设计工程有限公司 | 巩义市科瑞仪器有限公司| 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | 撕碎机_轮胎破碎机_粉碎机_回收生产线厂家_东莞华达机械有限公司 | 高速龙门架厂家_监控杆_多功能灯杆_信号灯杆_锂电池太阳能路灯-鑫世源照明 | 成都热收缩包装机_袖口式膜包机_高速塑封机价格_全自动封切机器_大型套膜机厂家 | 食药成分检测_调料配方还原_洗涤剂化学成分分析_饲料_百检信息科技有限公司 | 穿线管|波纹穿线管|包塑金属软管|蛇皮管?闵彬专注弱电工程? | 电缆故障测试仪_电缆故障定位仪_探测仪_检测仪器_陕西意联电气厂家 |