前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL UNION 操作符

MySQL UNION 操作符

作者头像
用户10358987
发布2024-04-23 19:52:04
300
发布2024-04-23 19:52:04
举报
文章被收录于专栏:javajava

昨天介绍了 MySQL 数据库使用 LIKE 子句来进行筛选查询,今天主要讲解下 MySQL UNION 操作符。

  • MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合,并去除重复的行。
  • UNION 操作符必须由两个或多个 SELECT 语句组成,每个 SELECT 语句的列数和对应位置的数据类型必须相同。

语法

首先,介绍一下语法。以下是 MySQL UNION 操作符语法格式:

代码语言:javascript
复制
SELECT column1, column2, ...
FROM table1
WHERE condition1
UNION
SELECT column1, column2, ...
FROM table2
WHERE condition2
[ORDER BY column1, column2, ...];
参数说明
  • column1, column2, … 是你要选择的列的名称,如果使用 * 表示选择所有列。
  • table1, table2, … 是你要从中查询数据的表的名称。
  • condition1, condition2, … 是每个 SELECT 语句的过滤条件,是可选的。
  • ORDER BY 子句是一个可选的子句,用于指定合并后的结果集的排序顺序。

参数介绍完成,接下来通过一些实例来详细介绍下该如何使用。

实例01

代码语言:javascript
复制
-- 2024.01.21 查询登录日志表、登录失败日志表
SELECT create_code FROM nm_login_log UNION SELECT create_code FROM nm_login_fail_log ORDER BY create_code;

-- 解释:基本的 UNION 操作(查询登录日志表和登录失败日志表中“用户账号”的唯一值,并按“用户账号”升序排序)。
在这里插入图片描述
在这里插入图片描述

实例02

代码语言:javascript
复制
-- 2024.01.21 查询登录日志、登录失败日志表
SELECT create_code FROM nm_login_log WHERE create_date >= '2023-01-01' UNION SELECT create_code FROM nm_login_fail_log WHERE create_date >= '2023-01-01' ORDER BY create_code;

-- 解释:使用过滤条件的 UNION(查询登录时间在“2023-01-01”之后的全部用户,并按“用户账号”升序排序)。
在这里插入图片描述
在这里插入图片描述

实例03

代码语言:javascript
复制
-- 2024.01.21 查询登录日志、登录失败日志表
SELECT create_code,user_agent FROM nm_login_log UNION SELECT create_code,NULL FROM nm_login_fail_log ORDER BY create_code;

-- 解释:UNION 操作中的列数和数据类型必须相同(以上 SQL 语句中,nm_login_fail_log  表中的“create_code”列被映射到了 nm_login_log  表中的“user_agent”列,但是列数和数据类型必须相同)。
在这里插入图片描述
在这里插入图片描述

实例04

代码语言:javascript
复制
-- 2024.01.21 查询登录日志、登录失败日志表
SELECT create_code FROM nm_login_log UNION ALL SELECT create_code FROM nm_login_fail_log ORDER BY create_code;

-- 解释:使用 UNION ALL 不去除重复行(将登录日志表和登录失败日志表中所有“用户账号”合并在一起,不去除重复行)。
在这里插入图片描述
在这里插入图片描述

UNION 操作符在合并结果集时会去除重复行,而 UNION ALL 不会去除重复行,因此 UNION ALL 的性能可能更好,但如果你确实希望去除重复行,可以使用 UNION。

以上内容即为 MySQL 数据库 UNION 操作符的简单讲解,下期再见。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-01-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 语法
    • 参数说明
    相关产品与服务
    云数据库 MySQL
    腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档