简单了解MySQL union all与union的差异
发布时间:2022-03-18 16:29:10 所属栏目:MySql教程 来源:互联网
导读:union 是对数据进行并集操作,不包括重复行,同时进行默认排序Union all 是对数据进行并集操作,包括重复行,不进行排序举例说明: CREATE TABLE `t_demo_copy` ( `id` int(32) NOT NULL, `name` varchar(255) DEFAULT NULL, `age` int(2) DEFAULT NULL, `
union 是对数据进行并集操作,不包括重复行,同时进行默认排序Union all 是对数据进行并集操作,包括重复行,不进行排序举例说明: 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_demo UNION SELECT * FROM t_demo_copy 从上面数据我们可以看到: UNION ALL只是简单的将两个结果合并后就返回。如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。 效率: 从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复数据且不需要排序时的话,那么就使用UNION ALL。 (编辑:大连站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐