Logo Wand.Tools

SQL UNION生成器

使用AI生成UNION語句以組合多個查詢的結果

SQL UNION 教程

SQL UNION 教程

SQL UNION 运算符用于合并两个或多个 SELECT 语句的结果集。它会去除各个 SELECT 语句之间的重复行。每个 SELECT 语句在 UNION 中的结果集必须具有相同数量的列,并且数据类型相似。

语法

SELECT column1, column2, ...
FROM table1
UNION
SELECT column1, column2, ...
FROM table2;

示例

假设有两个表 EmployeesContractors,它们都有 NameAge 列。

SELECT Name, Age
FROM Employees
UNION
SELECT Name, Age
FROM Contractors;

此查询将返回两个表中唯一的名称和年龄列表。

关键点

  • 列匹配:所有 SELECT 语句中的列数和数据类型必须匹配。
  • 去除重复:UNION 会去除重复行。使用 UNION ALL 以包含重复行。
  • 排序:在最后使用 ORDER BY 来排序合并后的结果集。

UNION 与 UNION ALL

  • UNION:去除重复。
  • UNION ALL:包含重复,这可能更快,因为它不执行重复检查。
SELECT Name, Age
FROM Employees
UNION ALL
SELECT Name, Age
FROM Contractors;

最佳实践

  • 确保列数据类型兼容。
  • 当允许重复时,使用 UNION ALL 以提高性能。
  • 始终测试查询以确保返回预期结果。

对于更高级的用法,考虑将 UNION 与其他 SQL 子句(如 WHERE、GROUP BY 和 HAVING)结合使用。