union与union all的区别

时间:2023-03-08 20:50:45
union与union all的区别

首先说下union与join的区别

1、union是以行增加的方式,进行连接;join是以列增加的方式进行连接;

2、union连接查询的两个表的字段必须要一一对应,数目相等;join则没有要求,但是要求有相关联的字段关系。

关于join的三种连接方式,详解请看我上一篇博客:http://www.cnblogs.com/janneystory/p/5618140.html

然后咱们来看看union和union all的区别

符合union的两个表要满足以下条件:select语句需要有相同的列数,类似的数据类型,且列的顺序相同,另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

学生表:

union与union all的区别

教师表:

union与union all的区别

第一题:查询出所有学校师生的姓名 (没有要求是否排除重复,可以用union all)

select name from student
union all
select teacherName from teacher

union与union all的区别

第二题::查询出所有师生的姓名,去除重名的 (要求排除重复,可以用union)

select name from student
union
select teacherName from teacher

union与union all的区别