本文主要是介绍mysql学习(二)——union,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、语法
select ...
union [all | distinct]
select ...
[union [all | distinct]
select ...]
union用来把来自许多select语句的结果组合到一个结果集中。
2、使用条件
只要结果集中的列数一致就可以。
3、注意事项
(1)单独使用union,默认会去重。使用union all,则多个select语句的结果都会显示,即使存在重复的行。
(2)各select语句可以操作相同表,也可以操作不同表。
(3)union对应的若干结果集,列名、列类型可以不一致,生成的结果以第一个结果集的列名为准。
(4)union后的结果集可以进行排序,但一般order by放在最外层,如
(select goods_id, goods_name, shop_price from goods where cat_id=3)
union
(select goods_id, goods_name, shop_price from goods where cat_id=4)
order by shop_price limit 3;
此外,内层的order by如果有limit修饰,也可以起作用,如
(select goods_id, goods_name, shop_price from goods where cat_id=3 order by shop_price desc limit 3)
union
(select goods_id, goods_name, shop_price from goods where cat_id=4 order by shop_price desc limit 2);
部分内容参考自燕十八老师的mysql视频培训笔记,侵删。
这篇关于mysql学习(二)——union的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!