Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

MySQL 教程

MySQL 主页 MySQL 简介 MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL WHERE MySQL AND, OR, NOT MySQL ORDER BY MySQL INSERT INTO MySQL NULL 值 MySQL UPDATE MySQL DELETE MySQL LIMIT MySQL MIN 和 MAX MySQL COUNT, AVG, SUM MySQL LIKE MySQL 通配符 MySQL IN MySQL BETWEEN MySQL 别名 MySQL 连接 MySQL INNER JOIN MySQL LEFT JOIN MySQL RIGHT JOIN MySQL CROSS JOIN MySQL 自连接 MySQL UNION MySQL GROUP BY MySQL HAVING MySQL EXISTS MySQL ANY, ALL MySQL INSERT SELECT MySQL CASE MySQL Null 函数 MySQL 注释 MySQL 运算符

MySQL 数据库

MySQL 创建数据库 MySQL 删除数据库 MySQL 创建表 MySQL 删除表 MySQL 修改表 MySQL 约束 MySQL 非空 MySQL 唯一 MySQL 主键 MySQL 外键 MySQL 检查 MySQL 默认值 MySQL 创建索引 MySQL 自动递增 MySQL 日期 MySQL 视图

MySQL 参考

MySQL 数据类型 MySQL 函数

MySQL 示例

MySQL 示例 MySQL 编辑器 MySQL 测验 MySQL 练习 MySQL 证书

MySQL UNION 运算符


MySQL UNION 运算符

The UNION 运算符用于组合两个或多个 SELECT 语句的结果集。

  • UNION 内的每个 SELECT 语句都必须具有相同数量的列
  • 这些列还必须具有类似的数据类型
  • 每个 SELECT 语句中的列也必须按相同的顺序排列

UNION 语法

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

UNION ALL 语法

默认情况下,UNION 运算符仅选择不同的值。要允许重复值,请使用 UNION ALL

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

注意:结果集中的列名通常等于第一个 SELECT 语句中的列名。


演示数据库

在本教程中,我们将使用著名的 Northwind 示例数据库。

以下是来自 "Customers" 表的选择

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

以及来自 "Suppliers" 表的选择

SupplierID SupplierName ContactName Address City PostalCode Country
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. London EC1 4SD UK
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA
3 Grandma Kelly's Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA


SQL UNION 示例

以下 SQL 语句从 "Customers" 和 "Suppliers" 表中返回城市(仅不同的值)

示例

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
自己尝试 »

注意:如果某些客户或供应商位于同一个城市,则每个城市只会列出一次,因为 UNION 只选择不同的值。使用 UNION ALL 也选择重复值!


SQL UNION ALL 示例

以下 SQL 语句从 "Customers" 和 "Suppliers" 表中返回城市(也包含重复值)

示例

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
自己尝试 »

带有 WHERE 的 SQL UNION

以下 SQL 语句从 "Customers" 和 "Suppliers" 表中返回德国城市(仅不同的值)

示例

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
自己尝试 »

带有 WHERE 的 SQL UNION ALL

以下 SQL 语句从 "Customers" 和 "Suppliers" 表中返回德国城市(也包含重复值)

示例

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
自己尝试 »

另一个 UNION 示例

以下 SQL 语句列出所有客户和供应商

示例

SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;
自己尝试 »

请注意上面的 "AS Type" - 它是一个别名。 SQL 别名 用于为表或列提供临时名称。别名仅在查询持续期间存在。因此,这里我们创建了一个名为 "Type" 的临时列,该列列出了联系人是 "Customer" 还是 "Supplier"。


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.