SQL中的UNION语句(学过的又忘记了,摘下来记着)

UNION 用于合并两个或多个 SELECT 语句,将多个表中同类数据在一个表一列中输出。

注意: (1)默认状态下,union语句只返回不同的值,如果想不去重复值,可以用union all

       (2)UNION 前后 SELECT 语句所查询的列的数量和前后顺序必须相同,列也必须拥有相似的数据类型。简单一句话就是:两个表的列数、列名可以不同,但是两表中有同种类的数据列,查询语句中的列必须是两个都有的,且语句写的列的顺序要相同。

      (3)输出结果的列名与第一个select语句所给的列名一致。

11.1 union语法

SELECT 列名 FROM 表名1

UNION
SELECT 列名 FROM 表名2

注:第一个列名是表1中的列名,第二个列名是该列在表2中对应列的列名

 

11.1 union实例

样例数据如下:Table_1  Table_2


要求:取出表1 表2中学生的姓名、地址和学校

语句如下:

select 姓名,地址,学校 from Table_2

union

select name,ardess,school  from Table_1

执行结果:


表1 表2中都有花花 北京 育才,去重,结果只保留一个。列名用的是表2的列名,因为表2的select语句放在前面。

 

union all语句如下:

select 姓名,地址,学校 from Table_2

union all

select name,ardess,school  from Table_1

执行结果


看以看到用union all与union唯一的区别就是不去重。

注:在使用union语句时,不允许使用order by,但是可以将order by语句放在最后一个select 语句后,以便对最后的结果进行排序。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值