【SQL】union和union all的异同

文章详细介绍了SQL中UNION和UNIONALL操作符的共同点和区别。它们都用于合并多个SELECT查询的结果,但UNION会去除重复行,而UNIONALL则包含所有行,包括重复。示例展示了如何在查询中使用这两个操作符从tb_user表中根据gender筛选数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

共同点

都用于合并两个或多个 SELECT 语句的结果

注意事项

1、UNION 内部的每个 SELECT 语句必须拥有相同数量的列
2、列也必须拥有相似的数据类型
3、每个 SELECT 语句中的列的顺序必须相同

区别

- union 去除重复的列
SELECT
	'A' AS gender_code,
	username,
	`password`,
	gender
FROM
	tb_user
WHERE
	gender = '男'
UNION
	SELECT
		'B',
		username,
		`password`,
		gender
	FROM
		tb_user
	WHERE
		gender = '女' OR gender = '男'

在这里插入图片描述

- union all 保留重复的列
SELECT
	'A' AS gender_code,
	username,
	`password`,
	gender
FROM
	tb_user
WHERE
	gender = '男'
UNION ALL
	SELECT
		'B',
		username,
		`password`,
		gender
	FROM
		tb_user
	WHERE
		gender = '女'
	OR gender = '男'

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值