首页 > 数据库 > MySQL > 正文

简单了解MySQL union all与union的区别

2024-07-24 12:54:38
字体:
来源:转载
供稿:网友

union 是对数据进行并集操作,不包括重复行,同时进行默认排序Union all 是对数据进行并集操作,包括重复行,不进行排序举例说明:

创建数据库表:

CREATE TABLE `t_demo` ( `id` int(32) NOT NULL, `name` varchar(255) DEFAULT NULL, `age` int(2) DEFAULT NULL, `num` int(3) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

复制此表:

CREATE TABLE `t_demo_copy` ( `id` int(32) NOT NULL, `name` varchar(255) DEFAULT NULL, `age` int(2) DEFAULT NULL, `num` int(3) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

加入数据:

INSERT INTO `t_demo` VALUES ('1', '张三', '21', '69');INSERT INTO `t_demo` VALUES ('2', '李四', '22', '98');INSERT INTO `t_demo` VALUES ('3', '王五', '20', '54');INSERT INTO `t_demo` VALUES ('4', '赵甜', '22', '80');INSERT INTO `t_demo_copy` VALUES ('1', '张三', '21', '69');INSERT INTO `t_demo_copy` VALUES ('2', '猪八戒', '22', '98');INSERT INTO `t_demo_copy` VALUES ('3', '王五', '20', '54');INSERT INTO `t_demo_copy` VALUES ('4', '赵甜', '22', '80');INSERT INTO `t_demo_copy` VALUES ('5', '孙悟空', '22', '100');INSERT INTO `t_demo_copy` VALUES ('6', '李四', '24', '99');

MySQL中的UNION

SELECT * FROM t_demoUNIONSELECT * FROM t_demo_copy

查询结果:

我们从上面的查询数据可以发现:

UNION在进行表链接后会筛选掉重复的记录,对所产生的结果集进行排序运算,删除重复的记录再返回结果。

MySQL中的UNION ALL

SELECT * FROM t_demoUNION ALLSELECT * FROM t_demo_copy

查询结果:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表