union和union all 的区别

1:union用于合并两个或多个select 语句的结果集。

注意:

1:union内部的select 语句必需拥有相同数量的列,列也夜必须拥有相似的数据类型,同时每条select 语句中的列的顺序必须相同。

2:union结果集中的列名总是等于union  中第一个select 语句中的列名。

3:默认的union 操作符是选取不同的值,如果允许重复的值,使用unino all。

区别:

union:去重且排序(取唯一值,记录没有重复)

union all:不去重不排序(直接直连,取到所有值,记录可能有重复)

例:

SELECT column_name(s) FROM table_name1
UNION   / UNIION ALL
SELECT column_name(s) FROM table_name2

表格1数据为: 

idname
1xia
2xiaa
3jun

 

 

 

 

 

 表格2 的数据为:

idnameage
1xia12
2jun32

 

 

 

 

 使用union的结果为: 

SELECT `name` FROM stu
UNION 
SELECT `name` FROM student

 9fc40d6f06814ecea0763bc632f7143f.png

 

 使用union ALL的结果为:

SELECT `name` FROM stu
UNION all
SELECT `name` FROM student

a48f46dd181a457babb4d8e5109b5ecd.png

 

 

posted @ 2023-02-01 15:01  wode林夕  阅读(169)  评论(0编辑  收藏  举报  来源