开发日常小结(39):MYSQL: UNION 和 UNION ALL 的使用与区别

MySQL常见的面试经典108题 前言: 大家都知道,无论你面试任何一个厂MySQL基本上是面试必问的题。经过无数次面经过后我总结了以下108道MySQL常见的面试题,望对大家有帮助!​ 目录 数据库 1. MySQL 索引使用有哪些注意事项呢?2. MySQL 遇到过死锁问题吗,你是如何解决的?3. 日常工作中你是怎么优化SQL的?4. 说说分库与分表的设计5. InnoDB与MyISAM的区别6. 数据库索引的原理,为什么要用 B+树,为什么不用二叉树​?7. 聚集索引与非聚集索引的区别8. limit 1000000 加载很慢 阅读详情

2018年10月20日

目录

一、新建一个简单的表,两个select查询语句

二、UNION 用法的个人理解

三、包含或取消重复的行

四、查询结果排序

五、小结


1、UNION在MySQL4.0以上版本才能可以使用。

2、UNION是条件联结的手段之一。

一、新建一个简单的表,两个select查询语句

新建表author:

SET FOREIGN_KEY_CHECKS=0;

DROP TABLE IF EXISTS `author`;

CREATE TABLE `author` (
  `id` int(11) NOT NULL,
  `first_name` varchar(255) DEFAULT NULL,
  `last_name` varchar(255) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `gender` int(1) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

插入四条数据:

INSERT INTO `library`.`author` (`id`, `first_name`, `last_name`, `age`, `gender`) VALUES ('1', '3', 'zhang', '23', '1');
INSERT INTO `library`.`author` (`id`, `first_name`, `last_name`, `age`, `gender`) VALUES ('2', '4', 'li', '30', '1');
INSERT INTO `library`.`author` (`id`, `first_name`, `last_name`, `age`, `gender`) VALUES ('3', '6', 'mo', '25', '0');
INSERT INTO `library`.`author` (`id`, `first_name`, `last_name`, `age`, `gender`) VALUES ('4', '4', 'liu', '18', '0');

select1:

SELECT * FROM author
WHERE age < 20
;

result1:

select2:

SELECT * FROM author
WHERE gender = 1
;

result2:

 

二、UNION 用法的个人理解

两种基本情况需要使用组合查询:

1)在单个查询中,要从不同的表返回类似结构的数据(结构字段差不多的情况);

2)在单个表执行多个查询,按单个查询返回数据(同一个表多个查询条件的情况);

用法很简单:在各条查询语句之间放上关键字UNION。

使用条件:两个或以上的select,而且每个查询需要包含相同的列,表达式,或聚集函数;注意:列数据类型要互相兼容。

eg:

SELECT * FROM author
WHERE age < 20
UNION
SELECT * FROM author
WHERE gender = 0
;

result:

 

三、包含或取消重复的行

上面的结果是使用UNION,所以会默认对多个select的结果进行去重处理;

使用UINION ALL,会返回所有匹配行;

SELECT * FROM author
WHERE age < 20
UNION ALL
SELECT * FROM author
WHERE gender = 0
;

result:

 

四、查询结果排序

排序注意:

1)必须搭配最后一条select语句;

2)必须只用一条ORDER BY语句;(不存在一部分的数据排序方式与另一部分不一样的情况)

 

五、小结

好处:简化复杂的WHERE字句,简化从多个表中检索数据的工作。

 


欢迎扫二维码关注公众号,获取技术干货

 

2021大厂技术面100道MySQL经典面试题分享(持续更新) 资料整理: Linuxc/c++后台开发方向技术文章资料电子书整理 2021-2000道大厂面经/面试题整理(腾讯、字节、阿里、百度、京东等) MySQL经典面试题1. MySQL 索引使用有哪些注意事项呢?2. MySQL 遇到过死锁问题吗,你是如何解决的?3. 日常工作中你是怎么优化SQL的?4. 说说分库与分表的设计5. InnoDB与MyISAM的区6. 数据库索引的原理,为什么要用 B+树,为什么不用二叉树?7. 聚集索引与非聚集索引的区别8. limit 1000000 加载很慢的话,你是怎么解 阅读详情

相关推荐

第27讲:多表查询之UNION ALL联合查询

查询结果如下,union all会将满足条件的数据全部拼接在一起,因此会有重复的数据,可以看到,首先拼接的是第一个select的查询结果,然后又将第二个select的查询结果拼接在了一起。联合查询有2种方式,一种是UNION ALL一种是UNION,UNION会对联合查询出的结果集去重,UNION ALL则会显示出所有的查询结果。联合查询使用的关键字为UNION,通过UNION可以将多次查询的结果连接起来,形成一个新的查询结果集。联合查询是指将多次查询的结果合并起来,形成一个新的查询结果集。

江晓龙的博客 1803

UNION和JOIN(INNER JOIN与OUTER JOIN)的使用

一、UNION UNION 操作符用于合并两个或多个 SELECT 语句的结果集。  请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。 默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。  另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELE...

山中有石为玉 4693

MySQL数据库核心面试题

这条命令会创建一个名为。例如,创建一个索引在。

闲人编程的博客 464

【连接查询】mySql多表连接查询与union与union all用法

1.准备两个表 表a:   结构: mysql&gt; desc a; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+...

weixin_34023863的博客 443

Mysql面试题(100+)

1、MySQL索引使用有哪些注意事项呢?2、MySQL遇到过死锁问题吗,你是如何解决的?3、日常工作中你是怎么优化SQL的? 4、说说分库与分表的设计 5、InnoDB与MyISAM的区别 6、数据库索引的原理,为什么要用B+树,为什么不用二叉树? 7、聚集索引与非聚集索引的区别 8、limit1000000加载很慢的话,你是怎么解决的呢? 9、如何选择合适的分布式主键方案呢? 10、事务的隔离级别有哪些?MySQL的默认隔离级别是什么? 11、什么是幻读,脏读等......

老王随聊 2845

多目标跟踪(MOT)中的卡尔曼滤波(Kalman filter)和匈牙利(Hungarian)算法详解

多目标跟踪(MOT)中的卡尔曼滤波(Kalman filter)和匈牙利(Hungarian)算法详解 1. 概览 在开始具体讨论卡尔曼滤波和匈牙利算法之前,首先我们来看一下基于检测的目标跟踪算法的大致流程。 2. 卡尔曼滤波(Kalman filter) 目标跟踪中使用的就是最基础的 Kalman filter 算法。这里也仅仅讨论最基础的 Kalman filter 算法。 卡尔曼滤波算法的过程很简单,如下图所示。最核心的两个步骤就是预测和更新(下图的 correct)。 在目标跟踪任务中,目标的

生命在于折腾! 2万+

[SQL挖掘机] - 多表连接: union all

sql中的union all是用于合并两个或多个select语句的结果集的操作符。与union不同的是,union all不会自动去除重复的行,它会简单地将多个查询的结果集合并在一起,包括重复的行。

统计小白er & paul_work 1599

Vue3集成百度实时语音识别

Vue3集成百度实时语音识别

weixin_61769998的博客 548

SQL的JOIN和UNION

UNION 产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集 。 JOIN 两张表做交连后里面条件相同的部分记录产生一个记录集。 比如如下例子: 有SEC,SEC1两张表,内容如下              执行UNION后结果: select t.* from sec t union select t1.* from sec1 t1 注意要保证

Benson Wang 专栏 1046

Python遥感图像处理指南(2)-卫星影像分析MNDWI提取

在第一篇文章中,我们使用了我们导入的软件包中已定义的函数,如 rasterio 中的 open 和 read 以及 matplotlib 中的 imshow。现在,我们可以编写自己的函数了。函数是一段代码,它接收一些参数作为输入并返回输出(经过一些计算),可以在代码中多次重复使用,也可以被其他代码重用。在 Python 中定义一个新函数非常简单。return v在此语法示例中,arg1和arg2强制参数,应该传递给函数,否则会引发错误,而arg3是一个可选参数,如果是,则假定默认值 1从函数调用中省略。

gis收藏家的博客 1576

步进电机

步进电机

happygrilclh的博客 2140

一文读懂MySQL常见面试题,面试无忧(10)

死锁是指两个或多个进程或线程在等待对方释放资源时,都被阻塞,从而导致系统无法继续运行的现象。资源竞争:多个进程或线程同时请求同一资源,导致资源被占用。资源不可抢占:资源一旦被占用,就无法被其他进程或线程抢占。死锁检测和恢复机制不完善:系统没有对死锁进行检测和恢复,导致死锁无法被及时发现和解决。避免资源竞争:通过合理的设计,避免多个进程或线程同时请求同一资源。使用可抢占资源:使用可抢占资源可以避免死锁的发生。使用死锁检测和恢复机制:使用死锁检测和恢复机制可以及时发现和解决死锁。

m0_50308467的博客 1132

GD32单片机引脚复用指南:如何让JTAG接口的PA15/PB3发挥第二功能?

本文详细介绍了GD32F103Cx系列单片机如何通过AFIO模块进行引脚复用,特别是将默认用于JTAG调试接口的PA15、PB3等引脚释放为普通IO或复用功能引脚。文章从原理出发,结合代码实践,讲解了如何配置调试端口重映射,将JTAG引脚安全地转换为GPIO或定时器通道,并提供了常见问题排查与最佳实践,帮助开发者高效利用有限的引脚资源。

nept的博客 807

最新总结MySQL核心知识点

MySQL高频面试题,题目后面的星数越高,在面试中越高频MySQL1、什么是MySQL?2、MySQL常用的存储引擎有什么?它们有什么区别?3、数据库的三大范式4、MySQL的数据类型有哪些。

m0_67698950的博客 292

手把手教你学Simulink——基于全桥 LLC 谐振变换器的双向 DC-DC 建模与仿真

本文详细介绍了基于Simulink的双向全桥LLC谐振变换器建模与仿真方法。内容涵盖:1)LLC谐振变换器背景与双向化挑战;2)系统架构设计及关键数学推导(FHA增益分析、双向控制逻辑);3)Simulink建模步骤(功率级搭建、PWM生成、同步整流实现);4)仿真结果分析(正向/反向工作验证、ZVS特性);5)工程实践建议(增益微调、代码生成与HIL测试)。通过手把手教学,帮助读者掌握950V↔48V双向LLC变换器的完整设计流程,实现高效率能量双向流动的同时保持软开关特性,适用于储能系统、车载充电等应用

MHD0815的博客 175

学Simulink--基于Simulink的无迹卡尔曼滤波(UKF)目标跟踪仿真建模示例

本文详细介绍了基于Simulink的无迹卡尔曼滤波(UKF)目标跟踪仿真建模方法。首先分析了UKF相比EKF在强非线性场景下的优势,包括无线性化误差、计算效率高和鲁棒性强等特点。接着阐述了UKF的核心原理,重点讲解了无迹变换(UT)的三个关键步骤:Sigma点生成、非线性传播和加权统计重构。文章还详细说明了二维机动目标的状态向量定义、非线性状态转移模型和雷达观测模型。 在Simulink实现部分,提供了完整的建模步骤和核心代码,包括目标运动模型、雷达传感器模型和UKF算法模块的实现。通过蛇形机动场景的仿真实

xiaoheshang_123的博客 89

100道MySQL数据库经典面试题

索引哪些情况会失效索引不适合哪些场景索引的一些潜规则3. 日常工作中你是怎么优化SQL的? 4. 说说分库与分表的设计 分库分表方案:常用的分库分表中间件:分库分表可能遇到的问题为什么不是一般二叉树?为什么不是平衡二叉树呢?那为什么不是B树而是B+树呢?何时使用聚集索引或非聚集索引?如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论, 咱们下期见。...

Firstlucky77的博客 1228

OData 请求里的 Nextlink 实战:在 ABAP Client Proxy 中优雅处理长列表分页

本文介绍了OData v4标准中的@odata.nextLink分页机制及其在SAP ABAP中的实践应用。重点解析了该机制通过服务端提供的完整URL实现分页获取,客户端只需循环处理直到该字段消失的特点。文章提供了清晰的ABAP代码模板,展示如何通过Remote Client Proxy实现分页数据获取,并强调了仅支持OData v4和远程消费的限制条件。通过HR员工数据聚合的实际案例,说明了流式分页处理的最佳实践,包括服务端过滤、稳定排序和内存控制等关键技术要点,为ABAP开发者提供了可直接落地的解决方案

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 268

mysql数据库面试

目录 1. MySQL索引使用有哪些注意事项呢? 2、MySQL遇到过死锁问题吗,你是如何解决的? 1. MySQL索引使用有哪些注意事项呢? 可以从三个维度回答这个问题:索引哪些情况会失效,索引不适合哪些场景,索引规则 索引哪些情况会失效 查询条件包含or,可能导致索引失效 如何字段类型是字符串,where时一定用引号括起来,否则索引失效 like通配符可能导致索引失效。 联合索引,查询时的条件列不是联合索引中的第一个列,索引失效。 在索引列上使用m

weixin_38492276的博客 2789

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

2020年最新“MySQL数据库高频面试题解析+Mysql问题分析思维导图”

前言: 本文涵盖100道MySQL数据库高频面试题解析+Mysql问题分析思维导图;没有那么多废话,文章有点干,除了干货就是干货。满是诚意,建议收藏 MySQL 100道高频面试题: 1. MySQL 索引使用有哪些注意事项呢? 2. MySQL 遇到过死锁问题吗,你是如何解决的? 3. 日常工作中你是怎么优化SQL的? 4. 说说分库与分表的设计 5. InnoDB与MyISAM的区别 6. 数据库索引的原理,为什么要用 B+树,为什么不用二叉树? 7. 聚集索引与...

kxkxyzyz的博客 2264

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

校招面试题目整理(无答案/自用)

MySQL 1. MySQL 索引使用有哪些注意事项呢? 2. MySQL 遇到过死锁问题吗,你是如何解决的? 3. 日常工作中你是怎么优化SQL的? 4. 说说分库与分表的设计 5. InnoDB与MyISAM的区 6. 数据库索引的原理,为什么要用 B+树,为什么不用二叉树? 7. 聚集索引与非聚集索引的区别 8. limit 1000000 加载很慢的话,你是怎么解决的呢? 9. 如何选择合适的分布式主键方案呢? 10. 事务的隔离级别有哪些?MySQL的默认隔离级别是什么? 1

ziziju的博客 2489

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

goalng开发_开发篇

Go 面试,基础知识

qq_46640341的博客 1159

工作中使用到的单词(软件开发)_第五版

本文摘要: 本文为软件开发相关的术语与技术要点整理,主要包含2020-2025年间四版内容更新(No.01-41)。重点包括: 证书文件格式(PEM/P12)差异 外部API通信注意事项(Accept头设置、HTTPS连接问题) Postman工具使用技巧(Cookie管理、请求头设置) WAS配置相关经验(JVM设置、SSL连接问题) 数据库操作命令(DB2表结构修改) IBM安全管理组件(TAM/iv-user机制) 网络通信细节(chunked传输编码特性) 常用开发工具(curl、Postman)的

sun0322 2518

《商业数据分析师MySQL结丹教程》

本文介绍了MySQL在商业数据分析中的应用,重点针对人力资源和财务数据仓库的三层架构(ODS/DWD/ADS)。第一章详细讲解了SQL逻辑执行顺序(FROM→WHERE→GROUP BY→HAVING→SELECT→ORDER BY→LIMIT)及其在ETL过程中的应用场景,包括基础查询、运算符使用、NULL值处理和分页优化。第二章强调数据类型选择对数据精度和性能的影响,特别指出数值类型在HR/财务系统中的重要性。全文结合具体业务场景示例,为数据分析师提供从SQL基础到数据仓库建模的实用指导。

yourkind的博客 473
上一篇: Java(36):Lambda 与 Stream 小结
下一篇: 后端日志【12】:年终总结:保持自己的节奏
后台技术汇
博客等级 码龄11年 670粉丝 531原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后台技术汇

对你的帮助,是对我的最好鼓励。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值