基本上,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 运算符?的详细内容。更多信息请关注PHP中文网其他相关文章!