Mysql union 联合查询

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: Mysql union 联合查询

  • 联合查询含义:指将2个或2个以上的字段数量相同的查询结果,“纵向堆叠”后合并为一个结果。


1、所有单个查询结果应该具有相等的列数。 2、所有单个查询的列类型应该具有一致性(即每个查询的第n列的数据类型一致)。 3、单个查询的列名可以不同,但最终的列名是第一个查询的列名(可以使用别名)。 4、union 可以带 all 或 distinct 参数,如果省略默认就是 distinct, 即默认已经消除重复行了。 5、最后的 order by 或 limit 是对整个联合之后的结果数据进行排序或数量限定。 6、order by 子句中的排序字段应该使用第-个查询中的字段名,如果有别名就必须使用别名。


  • 语法形式: 通过 union 进行联合


select * from test union (all 或 distinct(默认)) select * from user union (all 或 distinct(默认)) select ...... order by 字段 (asc || desc) limit 页码,每页条数;


  • 测试数据:


``` mysql> select * from test; +----+--------+------+------+ | id | name | sex | age | +----+--------+------+------+ | 1 | name1 | 女 | 15 | | 2 | name1 | 女 | 15 | | 3 | name53 | 男 | 10 | +----+--------+------+------+


mysql> select * from user; +----+--------+------+ | id | name | age | +----+--------+------+ | 1 | name1 | 15 | | 2 | name1 | 15 | | 3 | name53 | 10 | +----+--------+------+ ```


``` * 这里报错,是因为查询的是两个表的全部数据,两个表的列数量不相等 mysql> select * from test union select * from user; ERROR 1222 (21000): The used SELECT statements have a different number of columns


  • 查询对等数量字段 mysql> select id, name, age from test union select id, name, age from user; +----+--------+------+ | id | name | age | +----+--------+------+ | 1 | name1 | 15 | | 2 | name1 | 15 | | 3 | name53 | 10 | +----+--------+------+


  • 测试 union all mysql> select * from user union all select * from user; +----+--------+------+ | id | name | age | +----+--------+------+ | 1 | name1 | 15 | | 2 | name1 | 15 | | 3 | name53 | 10 | | 1 | name1 | 15 | | 2 | name1 | 15 | | 3 | name53 | 10 | +----+--------+------+


  • 测试 union distinct,默认就是它所以可以不用写 mysql> select * from user union select * from user; +----+--------+------+ | id | name | age | +----+--------+------+ | 1 | name1 | 15 | | 2 | name1 | 15 | | 3 | name53 | 10 | +----+--------+------+ ```

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
SQL 关系型数据库 MySQL
总结vue3 的一些知识点:MySQL UNION 操作符
总结vue3 的一些知识点:MySQL UNION 操作符
|
4月前
|
SQL 存储
MySQL-多表联合查询
MySQL-多表联合查询
|
4月前
|
关系型数据库 MySQL 数据库
MySQL UNION 操作符
【1月更文挑战第6天】MySQL 使用讲解 第06期
|
4月前
|
关系型数据库 MySQL 数据库
MySql数据库联合查询(MySql数据库学习——六)
MySql数据库联合查询(MySql数据库学习——六)
31 0
|
5月前
|
SQL 关系型数据库 MySQL
MySQL UNION 操作符
MySQL UNION 操作符
|
5月前
|
关系型数据库 MySQL 数据库
MySQL之聚合查询和联合查询
MySQL之聚合查询和联合查询
|
5月前
|
SQL 关系型数据库 MySQL
MySQL联合查询
MySQL联合查询
41 0
MySQL联合查询
|
7月前
|
SQL 关系型数据库 MySQL
总结vue3 的一些知识点:MySQL UNION 操作符
总结vue3 的一些知识点:MySQL UNION 操作符
31 0
|
8月前
|
存储 SQL 关系型数据库
MySQL数据库:数据库的约束以及数据的聚合、联合查询
MySQL数据库:数据库的约束以及数据的聚合、联合查询
122 0
|
9月前
|
SQL 关系型数据库 MySQL
【MySQL】数据库约束与聚合查询和联合查询等进阶操作知识汇总(下)
【MySQL】数据库约束与聚合查询和联合查询等进阶操作知识汇总(下)
137 0