mysql之union连表查询

最近突然被问到union与union all,当时就什么都想不起来了,因为基本没用到union这个语句,很久之前学习到她了。虽然不怎么使用,但是还是sql基础的一些东西,所以复习一下,不然下次继续尴尬。。

例如:库中有表table1、table2

idnamephone
1张三1234560
2李四1236987
idnameaddress
1张三深圳
2李四东莞
3张三深圳

现要查询出table1与table2所有name,那么语句如下:

select name from table1 union select name from table2; 

查询结果:

name
张三
李四

好了,结果中就会发现,自动去重了,如果table2中的张三非table1中的张三,那么结果是不准确的。这个时候union all就隆重登场,语句如下:

select name from table1 union all select name from table2;

查询结果:

name
张三
李四
张三
李四
张三

这样所有name都查询出来了。

可能出现的问题:

union前面的select列是要跟后面的select列一样的,不然语法行不通。

转载于:https://my.oschina.net/u/3763771/blog/1928351

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值