菜单
×
   ❮     
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
     ❯   

SQL 教程

SQL 首页 SQL Intro SQL Syntax SQL Select SQL Select Distinct SQL Where SQL Order By SQL And SQL Or SQL Not SQL Insert Into SQL Null Values SQL Update SQL Delete SQL Select Top SQL Aggregate Functions SQL Min and Max SQL Count SQL Sum SQL Avg SQL Like SQL Wildcards SQL In SQL Between SQL Aliases SQL Joins SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL Self Join SQL Union SQL Group By SQL Having SQL Exists SQL Any, All SQL Select Into SQL Insert Into Select SQL Case SQL Null Functions SQL Stored Procedures SQL Comments SQL Operators

SQL 数据库

SQL Create DB SQL Drop DB SQL Backup DB SQL Create Table SQL Drop Table SQL Alter Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Index SQL Auto Increment SQL Dates SQL Views SQL Injection SQL Hosting SQL Data Types

SQL 参考

SQL 关键字 MySQL 函数 SQL Server 函数 MS Access 函数 SQL 快速参考

SQL 示例

SQL 示例 SQL 编辑器 SQL 测验 SQL 练习 SQL Server SQL Bootcamp SQL 证书

SQL UNION 操作符


SQL UNION 操作符

SQL UNION 操作符用于组合两个或多个 SELECT 语句的结果集。

  • UNION 中的每个 SELECT 语句都必须具有相同数量的列。
  • 列也必须具有相似的数据类型。
  • 每个 SELECT 语句中的列也必须以相同的顺序排列。

UNION 语法

SELECT column_name(s) FROM table1
并集
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
并集
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;
自己动手试一试 »

SQL UNION With WHERE

以下 SQL 语句返回“Customers”和“Suppliers”表中所有的德国城市(仅不重复值):

示例

SELECT City, Country FROM Customers
WHERE Country='Germany'
并集
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
自己动手试一试 »

SQL UNION ALL With WHERE

以下 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
并集
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;
自己动手试一试 »

注意上面使用的“AS Type”——这是一个别名。SQL 别名用于给表或列起一个临时名称。别名只在查询期间存在。因此,这里我们创建了一个名为“Type”的临时列,用于标识联系人是“Customer”(客户)还是“Supplier”(供应商)。


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持