国强极客
有问题请加微信:guoqiang7585
国强极客

13.mysql联合(union)查询 概念 语法

13.mysql联合(union)查询 概念 语法

13.1.联合查询概念

联合查询是指将2个或2个以上的字段数量相同的查询结果,“纵向堆叠”后合并为一个结果。

select  id,  f1,  f2  from  join1  
union  
select  id2,  c1,  c2  from  join2;

13.2.联合查询语法

select查询1
union  [all或distinct]
select查询2
union  [all或distinct]
select查询3
...... 
[order by 字段  [asc或desc] ]
[limit  起始行号,数量] ;

1,所有单个查询结果应该具有相等的列数。
2,所有单个查询的列类型应该具有一致性(即每个查询的第n列的数据类型一致)。
3,单个查询的列名可以不同,但最终的列名是第一个查询的列名(可以使用别名)。
4,union可以带all或distinct参数,如果省略就是distinct,即默认已经消除重复行了。
5,最后的order by或limit是对整个联合之后的结果数据进行排序或数量限定。
6,order by子句中的排序字段应该使用第一个查询中的字段名,如果有别名就必须使用别名。
7,可见,假设:
查询1有n1行,m列;
查询2有n2行,m列;
则两个表“联合”之后的结果,有最多n1+n2行,m列。

//联合查询示例:
select * from join1
union
select * from join2;
select id, f2 from join1
union
select id2,c2 from join2;
-- 演示“不消除重复行”的情形:
 select f1 from join1
union all
select c1 from join2;
select id, f2 from join1
union
select id2,c2 from join2
order by id desc
limit 0,4;
赞赏
对内容有疑问,请加我微信:guoqiang7585
# # #
首页      全栈教程      mysql      13.mysql联合(union)查询 概念 语法

国强极客

文章作者

博客站长,有问题请加微信【guoqiang7585】。

国强极客

13.mysql联合(union)查询 概念 语法
13.1.联合查询概念 联合查询是指将2个或2个以上的字段数量相同的查询结果,“纵向堆叠”后合并为一个结果。 select id, f1, f2 from join1 union select id2, c1, c2 fr…
扫描二维码继续阅读
2019-12-09