标签:no union 结果 列数 内层 MYSQL 使用 排序
作用:
union的作用简单来说就是合并两个sql的结果集
语法:
SQL1 UNION SQL2
什么时候允许使用union?
答:只要两个结果集的列数相同就可以使用,即使字段类型不相同,也可以使用。
如果第一个结果集有2列,第二个结果集有1列,运行后有提示列数不一样的提示。
列数相同,但字段类型不同,但同样可以union。
值得注意的是union后字段的名称以第一条SQL为准
关于union的排序:
select * from a where a.no>2000 order by no desc union select * from b where b.no<2000 order by no desc
内层先排序,外层又排序,明显内层排序显得多余,所以MYSQL优化了SQL语句,不让内层排序起作用。
要想内层排序起作用,必须要使内层排序的结果能影响最终的结果。如:加上limit
若两次有重复的行出现会怎样?
重复的记录会被覆盖,要想不被覆盖可以使用 union all
参考:https://blog.csdn.net/yuxin6866/article/details/52190772
标签:no,union,结果,列数,内层,MYSQL,使用,排序 来源: https://www.cnblogs.com/sunzhiqiang/p/15045407.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。