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');
SELECT * FROM t_demoUNIONSELECT * FROM t_demo_copy

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

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

MySQL中的UNION ALL

SELECT * FROM t_demoUNION ALLSELECT * FROM t_demo_copy

从上面数据我们可以看到:

UNION ALL只是简单的将两个结果合并后就返回。如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。

效率:

从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复数据且不需要排序时的话,那么就使用UNION ALL。

更多相关文章

  1. Android(安卓)之 下拉框(Spinner)的简单使用
  2. JS与Android(安卓)WebView的简单交互 + WebView 的简单使用
  3. android上一些方法的区别和用法的注意事项
  4. Android(安卓)拨号器的简单实现
  5. Android中的FILL_PARENT与WRAP_CONTENT的区别
  6. Android调用天气预报的WebService简单例子
  7. Android中GPS定位的简单应用
  8. [Android] ACTION_GET_CONTENT与ACTION_PICK的区别
  9. android上一些方法的区别和用法的注意事项

随机推荐

  1. Android MVC
  2. zabbix for android
  3. 浅入浅出 Android 安全:第一章 Android
  4. Android外文翻译系列 - Android应用程序应
  5. Android存储-SQLite数据库存储数据(三)
  6. Android入门
  7. 精灵游戏实现
  8. Android中view重绘问题
  9. [Android]笔记19:RatingBar的功能与用法
  10. Android NDK学习笔记