下面讲一下mySql中的union和union all 的功能以及区别

A union B 是将表A的数据和表B的数据连接成一张表,前提是查询的两张表的列数一定要一样否则出错。

A union all B 功能和union基本一样,区别在于union 会把两条一样的语句合并成一条,union all则全部显示出来。

下面具体列子说明:

表A数据

nameA   scoreA

robin     98
nami     99
saber    98
luffy     99

---------------------

表B数据

nameB  scoreB

luffy     99
zoro     98
sanji    98

--------------------

下面先看union all 查询数据表C

SELECT nameA,scoreA FROM A UNION ALL SELECT nameB,scoreB FROM B

nameA   scoreA

robin     98
nami     99
saber    98
luffy     99
luffy     99
zoro     98
sanji     98

----------------------

下面看union查询数据表D

SELECT nameA,scoreA FROM A UNION SELECT nameB,scoreB FROM B;

nameA   scoreA

robin     98
nami     99
saber     98
luffy     99
zoro     98
sanji     98

----------------------

由上述数据可以看出绿色的是表A的数据 桔黄色是表B的数据

可见union all是将A表的数据和B表的数据连接起来形成表C,union all显然是将两表的第一列和第二列分别首位相连....所以条件是两张表查询的列数必须一样,否则出错。。。

union功能和 union all是一样的。唯一区别在于红色部分luffy,表A中和表B中都存在luffy 99,此时union和union all区别就出来了union all 不管三七二十一全部显示出来,而union则是把A表的luffy 99 和B表的luffy 99合并成一条了....前提是两表中的两列数据必须全部相同才会合并....当然同一张表中的两列数据一模一样时也会合并....

MySQL 常用语法 之 UNION与UNION ALL的更多相关文章

  1. MySQL SELECT语法(四)UNION语法详解

    源自MySQL 5.7 官方手册:13.2.9.3 UNION Syntax 一.UNION语法 UNION用于将多个SELECT语句的结果合并到一个结果集中. SELECT ... UNION [A ...

  2. mysql常用语法操作

    一.用户管理: 1.新建用户: >CREATE USER name IDENTIFIED BY 'ssapdrow'; 2.更改密码: >SET PASSWORD FOR name=PAS ...

  3. MySQL常用语法命令及函数

    #创建数据库# create database 数据库名; #查看数据库# show databases; #选择数据库# use 数据库名; #删除数据库# drop database 数据库名; ...

  4. Mysql常用语法及入门开篇(一)

    数据:信息,记录.阅读: 数据库:数据的仓库,存储许多的数据(信息).按照数据结构来组件.存储和管理数据的,建立在计算机存储设备上的仓库. DBMS:   database management Sy ...

  5. 【MySQL】MySQL 常用语法之锁表与解锁表

    mysql 锁表语句: Lock锁整张表: 写锁定: LOCK TABLES products WRITE: 写锁,锁定之后,只有当前线程可以进行读操作和写操作,其他线程读操作和写操作均被堵塞.... ...

  6. MySQL常用语法总结

    一,学习mysql的前戏 1:基础入门命令 show databases: #查看当前MySQL中的所有数据库 create 数据库名: #创建新的数据库 use 数据库名: #使用该数据库 show ...

  7. mysql 常用语法

    --创建数据库 CREATE DATABASE DB_NAME; --选中数据库 USE DB_NAME; --列出数据库列表 SHOW DATABASES; --删除数据库 DROP DATABAS ...

  8. mysql常用语法

    创建表 create table <表名>( <字段名>  类型(长度) not null primary key auto_increment, **主键 name char ...

  9. MySQL 常用语法 之 DISTINCT

    DISTINCT作用很简单就是去除重复行的数据. 具体看下面列子 表A数据[两条 nami 99] nameA   scoreA robin    98 nami    99 saber  98 lu ...

随机推荐

  1. Linux调度器 - deadline调度器

    一.概述 实时系统是这样的一种计算系统:当事件发生后,它必须在确定的时间范围内做出响应.在实时系统中,产生正确的结果不仅依赖于系统正确的逻辑动作,而且依赖于逻辑动作的时序.换句话说,当系统收到某个请求 ...

  2. 具体解释java中的volatilekeyword

    一.为什么要有volatilekeyword 预计非常多java刚開始学习的人都被volatile这个keyword迷惑过.尽管网上有非常多讨论volatile的文章,但它们有的过于讲述底层原理,而没 ...

  3. codeforces #296 div2 (527C) STL中set的运用

    题意:在一块H*M的玻璃上每次划一刀(仅仅能水平或竖直).输出每次划开之后剩下的玻璃中面积最大的一块的面积. 做题的时候.觉得这么大的数据量,有每次查询输出,应该是数据结构的内容. 这道题能够用STL ...

  4. Android开发12——Andorid中操作数据库的insert的两种方法以及nullColumnHack

    一.发现问题 先看两种方法插入数据 public void save(Person p){ SQLiteDatabase db = dbHelper.getWritableDatabase(); db ...

  5. 客户端负载均衡:Ribbon

    Ribbon是一个客户端的负载均衡器,可以提供很多HTTP和TCP的控制行为.Feign已经使用了Ribbon,所以如果你使用了@FeignClient,Riboon也同样被应用了. Ribbon核心 ...

  6. AngularJS 使用 UI Router 实现表单向导

    Today we will be using AngularJS and the great UI Router and the Angular ngAnimate module to create ...

  7. HBase性能优化方法总结(二):写表操作

    转自:http://www.cnblogs.com/panfeng412/archive/2012/03/08/hbase-performance-tuning-section2.html 本文主要是 ...

  8. 基于python的接口测试框架设计(二)配置一些参数及文件

    基于python的接口测试框架设计(二)配置一些参数及文件 我这里需要基于我的项目配置的主要是登陆参数.以及baseURL ,把这些放在单独的文件里  毕竟导入的时候方便了一些 首先是url 图略 建 ...

  9. mproxy: c 语言实现的一个最小的http代理,支持FQ

    https://github.com/examplecode/mproxy mproxy 使用说明 这是一个微型的http代理服务器实现,使用c语言实现,核心代码量不足500行,不依赖任何第三方的库( ...

  10. Android开发日记(一)

    实现点击一个图片按钮跳转到一个动作ImageViewSchoolCard = (ImageView) view.findViewById(R.id.ImageViewLostThings); Imag ...