sql的union用法

sql中union是很常见的,尤其是创建视图时,完全离不开union。

SQL UNION 操作符合并两个或多个 SELECT 语句的结果,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。

union包括union和union all两种语法,如下:

SQL UNION 语法

 
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

SQL UNION ALL 语法

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

两者的区别就是union all包括重复的数据。

说完了语法,下面以一个简单的例子介绍下。

先说表结构,很简单,两张表

teacher

student.

可以看到,两张表的表结构是一样的。

现在进行对first_name的union查询。

select first_name from teacher union select first_name from student;

查询结果如下:

可以看到没有重复的数据。

改为union all之后。

select first_name from teacher union all select first_name from student;

查询结果如下:

可以看到,数据是重复的。

但如果同时查询first_name和last_name呢?

select first_name, last_name from teacher union select  first_name, last_name from student;

结果如下:

改为union all之后

select first_name, last_name from teacher union all select  first_name, last_name from student;

查询结果:

可以看到,结果是一样的,因为first_name和last_name在一起的话判断的话,没有重复的数据。

 

参考:

http://www.w3cschool.cc/sql/sql-union.html

转载于:https://www.cnblogs.com/wardensky/p/4145279.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值