我们如何在数据集上使用 MySQL UNION 运算符?

数据库数据库 2023-08-31 03:45:33 798
摘要: 基本上,MySQLUNION运算符用于组合2个或多个SELECT语句的结果集。它删除各个SELECT语句之间的重复行。UNION运算符中的每个SELECT语句在类似数据类型的结果集中必须具有相同数量的字段。它的语法如下-语...

我们如何在数据集上使用 MySQL UNION 运算符?

基本上,MySQL UNION 运算符用于组合 2 个或多个 SELECT 语句的结果集。它删除各个 SELECT 语句之间的重复行。 UNION 运算符中的每个 SELECT 语句在类似数据类型的结果集中必须具有相同数量的字段。它的语法如下 -

语法

SELECT expression1, expression2, … expression_n
FROM table
[WHERE conditions]
UNION [DISTINCT]
SELECT expression1, expression2, … expression_n
FROM table
[WHERE conditions]

这里,表达式1,表达式2,...表达式_n是我们希望检索的列。

是我们要从中检索记录的表。

WHERE条件,它是可选的,必须满足才能选择记录。

DISTINCT,从结果集中删除重复项也是可选的,但是包含 DISTINCT 修饰符对 UNION 运算符的结果集没有影响,因为默认情况下 UNION 运算符已经删除了重复项.

示例

在此示例中,我们有两个表,即 Student_detail 和 Student_info,具有以下数据 -

mysql> Select * from Student_detail;
+-----------+---------+------------+------------+
| studentid | Name    | Address    | Subject    |
+-----------+---------+------------+------------+
|    101    | YashPal | Amritsar   | History    |
|    105    | Gaurav  | Chandigarh | Literature |
|    130    | Ram     | Jhansi     | Computers  |
|    132    | Shyam   | Chandigarh | Economics  |
|    133    | Mohan   | Delhi      | Computers  |
|    150    | Rajesh  | Jaipur     | Yoga       | 
|    160    | Pradeep | Kochi      | Hindi      |
+-----------+---------+------------+------------+
7 rows in set (0.00 sec)

mysql> Select * from Student_info;
+-----------+-----------+------------+-------------+
| studentid | Name      | Address    | Subject     |
+-----------+-----------+------------+-------------+
|    101    | YashPal   | Amritsar   | History     |
|    105    | Gaurav    | Chandigarh | Literature  |
|    130    | Ram       | Jhansi     | Computers   |
|    132    | Shyam     | Chandigarh | Economics   |
|    133    | Mohan     | Delhi      | Computers   |
|    165    | Abhimanyu | Calcutta   | Electronics |
+-----------+-----------+------------+-------------+
6 rows in set (0.00 sec)

现在,以下使用 UNION 运算符的查询将返回两个表中的所有“studentid”值。

mysql> Select Studentid FROM student_detail UNION SELECT Studentid FROM student_info;
+-----------+
| Studentid |
+-----------+
|    101    |
|    105    |
|    130    |
|    132    |
|    133    |
|    150    |
|    160    |
|    165    |
+-----------+
8 rows in set (0.00 sec)

以上就是我们如何在数据集上使用 MySQL UNION 运算符?的详细内容,更多请关注其它相关文章!