-- 示例代码:使用 UNION 合并两个查询结果
-- 假设有两张表:employees 和 contractors,我们想要获取所有员工和合同工的名字,并且去重。
SELECT name FROM employees
UNION
SELECT name FROM contractors;
-- 解释:
-- 1. UNION 用于合并两个或多个 SELECT 语句的结果集。
-- 2. UNION 默认会去除重复的记录(相当于 DISTINCT)。
-- 3. 如果需要保留重复记录,可以使用 UNION ALL。
-- 示例代码:使用 UNION ALL 保留重复记录
SELECT name FROM employees
UNION ALL
SELECT name FROM contractors;
-- 解释:
-- 1. UNION ALL 不会去除重复的记录,因此如果两个表中有相同的名字,它们都会出现在结果集中。
-- 2. UNION ALL 的性能通常比 UNION 更好,因为它不需要执行去重操作。
-- 示例代码:带有 ORDER BY 的 UNION 查询
SELECT name, 'Employee' AS type FROM employees
UNION
SELECT name, 'Contractor' AS type FROM contractors
ORDER BY name;
-- 解释:
-- 1. 可以在每个 SELECT 语句中添加额外的列(如 type),以便区分来自不同表的数据。
-- 2. ORDER BY 必须放在最后一个 SELECT 语句之后,否则会报错。
上一篇:mysql查询blob转换字符串
下一篇:mysql 文本字段最大长度
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站