MySql教程
MySql用户管理
MySQL数据库
MySql表格和视图
MySQL查询
MySQL索引
MySQL子句
MySQL授权
MySql控制流
MySQL条件
MySQL连接
MySQL键
MySQL触发器
MySQL聚合函数
MySQL常用
MySQL正则表达式
MySql差异性

MySQL Union和Join区别

Union和Join是 SQL 用于在关系数据库管理系统(RDBMS)中的多个表上执行操作的子句。它们通过 合并两个或多个表中的数据来产生结果。但是,两个子句中组合来自两个或多个关系的数据的方式不同。在进行比较之前,我们将简要讨论这些条款。

Union规范

MySQL Union子句允许我们使用多个SELECT查询将两个或多个关系组合到单个结果集中。默认情况下,它具有从结果集中删除重复行的功能。
MySQL 中的Union子句必须遵循以下规则:
所有表中列的顺序和数量必须相同。 数据类型必须与每个选择查询的相应位置兼容。 SELECT查询中的列名应具有相同的顺序。
语法
SELECT column_name(s) FROM table_name1  
UNION  
SELECT column_name(s) FROM table_name2;

什么是Join子句?

加入MySQL 与 SELECT语句一起使用,以 从多个表中检索数据。每当我们需要从多个表中获取记录时,都会执行该操作。它仅返回表中符合指定条件的那些记录。
语法
SELECT column_name(s) FROM table_name1   
JOIN table_name2  ON conditions;

联合与加入

让我们讨论联合与加入之间的本质区别使用以下比较表。
MySQL Union vs Join
UNION Join
它用于使用SQL查询合并来自多个表的结果。 它用于使用SQL查询从多个表中获取记录。
它将记录合并到新行中。 它将记录合并到新列中。
它允许我们垂直连接桌子。 这将使我们能够垂直连接表。
它作为一个以上汇总所有记录的表的结合。 它在表格的交集处产生结果。
在这种情况下,所有表中列的顺序和数量必须相同。 在这种情况下,列的顺序和数目不必在所有表中都相同。
它具有默认功能,可从结果集中删除重复的行。 它不会从结果集中消除重复的行。
在这种情况下,所有SELECT语句中的数据类型都必须相同。 在这种情况下,不必具有相同的数据类型。可以不同。
仅当列数和相应属性具有相同域时,Union子句才适用。 仅当将要使用的两个表至少具有一列时,Join子句才适用。
Union子句可以主要具有以下两种类型: Union Union All Join子句可以具有以下给出的不同类型: Inner Join Left Join Right Join Full Join
现在,我们将借助示例来理解它。

联合示例

假设我们的数据库具有以下表: " Student1" " Student2" ,其中包含以下数据:
MySQL Union vs Join
下面的语句通过组合两个表,产生包含所有学生姓名和学科的输出。
SELECT stud_name, subject FROM student1  
UNION  
SELECT stud_name, subject FROM student2;  
成功执行后,我们将获得包含所有唯一学生姓名和科目的输出:
MySQL Union vs Join

Join示例

假设我们的数据库具有以下表格: "students" "technologies" 包含以下数据:
MySQL Union vs Join
我们可以使用以下查询从两个表中获取记录:
SELECT students.stud_fname, students.stud_lname, students.city, technologies.technology    
FROM students   
JOIN technologies    
ON students.student_id = technologies.tech_id;
我们将获得以下输出:
MySQL Union vs Join
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4