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数据为:
id | name |
---|---|
1 | xia |
2 | xiaa |
3 | jun |
表格2 的数据为:
id | name | age |
---|---|---|
1 | xia | 12 |
2 | jun | 32 |
使用union的结果为:
SELECT `name` FROM stu
UNION
SELECT `name` FROM student
使用union ALL的结果为:
SELECT `name` FROM stu
UNION all
SELECT `name` FROM student