Mysql join(连接查询) 与 union(联合查询) 的区别

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: Mysql join(连接查询) 与 union(联合查询) 的区别
  • join(连接查询):是将两个查询(或表)的每一行,以“两两横同对接”的方式,
    所得到的所有行的结果,即一个表中的某行,跟另一个表中的某行。
    进行“横向对接”,得到一个新行。
  • union (联合查询):指将2个或2个以上的字段数量相同的查询结果,“纵向堆叠”后合并为一个结果。
  • 测试数据
mysql> select * from test;
+----+--------+------+------+
| id | name   | sex  | age  |
+----+--------+------+------+
|  1 | name1  | 女   |   15 |
|  2 | name1  | 女   |   15 |
|  4 | name2  | 男   |   30 |
|  5 | name50 | 男   |   12 |
+----+--------+------+------+
mysql> select * from user;
+----+-------+------+
| id | name  | age  |
+----+-------+------+
|  1 | name1 |   18 |
|  2 | name2 |   15 |
|  3 | name3 |   20 |
|  4 | name4 |   30 |
+----+-------+------+
  • 查询数据的结果区别:
    join(连接查询):横向拼接查询结果的数据。
mysql> select * from test left join user on test.name=user.name;
+----+--------+------+------+------+-------+------+
| id | name   | sex  | age  | id   | name  | age  |
+----+--------+------+------+------+-------+------+
|  1 | name1  | 女   |   15 |    1 | name1 |   18 |
|  2 | name1  | 女   |   15 |    1 | name1 |   18 |
|  4 | name2  | 男   |   30 |    2 | name2 |   15 |
|  5 | name50 | 男   |   12 | NULL | NULL  | NULL |
+----+--------+------+------+------+-------+------+
  • union (联合查询):纵向拼接查询结果的数据。
mysql> select id, name, age from test union select id, name, age from user;
+----+--------+------+
| id | name   | age  |
+----+--------+------+
|  1 | name1  |   15 |
|  2 | name1  |   15 |
|  4 | name2  |   30 |
|  5 | name50 |   12 |
|  1 | name1  |   18 |
|  2 | name2  |   15 |
|  3 | name3  |   20 |
|  4 | name4  |   30 |
+----+--------+------+
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
SQL 关系型数据库 MySQL
【MySQL】:分组查询、排序查询、分页查询、以及执行顺序
【MySQL】:分组查询、排序查询、分页查询、以及执行顺序
13 0
|
1天前
|
DataWorks NoSQL 关系型数据库
DataWorks操作报错合集之在使用 DataWorks 进行 MongoDB 同步时遇到了连通性测试失败,实例配置和 MongoDB 白名单配置均正确,且同 VPC 下 MySQL 可以成功连接并同步,但 MongoDB 却无法完成同样的操作如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
15 1
|
2天前
|
Java 关系型数据库 MySQL
Java基础教程(20)-Java连接mysql数据库CURD
【4月更文挑战第19天】MySQL是流行的关系型数据库管理系统,支持SQL语法。在IDEA中加载jar包到项目类路径:右击项目,选择“Open Module Settings”,添加库文件。使用JDBC连接MySQL,首先下载JDBC驱动,然后通过`Class.forName()`加载驱动,`DriverManager.getConnection()`建立连接。执行CRUD操作,例如创建表、插入数据和查询,使用`Statement`或`PreparedStatement`,并确保正确关闭数据库资源。
|
2天前
|
JSON 前端开发 Java
管理系统总结(前端:Vue-cli, 后端Jdbc连接mysql数据库,项目部署tomcat里)
管理系统总结(前端:Vue-cli, 后端Jdbc连接mysql数据库,项目部署tomcat里)
|
2天前
|
SQL 分布式计算 关系型数据库
云原生数据仓库产品使用合集之可以把ADB MySQL湖仓版数据库做成页面查询的数据库吗
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
4天前
|
关系型数据库 MySQL 数据挖掘
【MySQL】多表连接查询
【MySQL】多表连接查询
|
7天前
|
SQL 存储 关系型数据库
MySQL Cluster集群安装及使用
MySQL Cluster集群安装及使用
|
11天前
|
关系型数据库 MySQL 数据库
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
36 4
|
1天前
|
存储 关系型数据库 MySQL
linux安装MySQL8.0,密码修改权限配置等常规操作详解
linux安装MySQL8.0,密码修改权限配置等常规操作详解
|
4天前
|
监控 关系型数据库 MySQL