1.union和union all 都是实现数据库连表查询的. 但都需具备2张表的的列, 字段都一样.
2.union 实现连表查询的, 是不允许重复的, 重复值会被覆盖掉.
例如:
表一: person1
| ID | name | age | 
|---|---|---|
| 1 | zhangsan | 23 | 
| – | – | – | 
| 2 | lisi | 24 | 
| – | – | – | 
| 3 | wangwu | 25 | 
表二: person2
| ID | name | age | 
|---|---|---|
| 1 | zhangsan | 23 | 
| – | – | – | 
| 2 | zhouyi | 21 | 
| – | – | – | 
| 3 | zhouer | 22 | 
sql语句:
SELECT name FROM person1
union
SELECT name FROM person2;
查询结果:
| name | 
|---|
| zhangsan | 
| – | 
| lisi | 
| – | 
| wangwu | 
| – | 
| zhouyi | 
| – | 
| zhouer | 
3.union all连表查询是可以重复的.
sql语句:
SELECT name FROM person1
union
SELECT name FROM person2;
查询结果:
| name | 
|---|
| zhangsan | 
| – | 
| lisi | 
| – | 
| wangwu | 
| – | 
| zhangsan | 
| – | 
| zhouyi | 
| – | 
| zhouer | 
来源:CSDN
作者:weixin_45765705
链接:https://blog.csdn.net/weixin_45765705/article/details/104777991