mysql之union合并查询
轉(zhuǎn)載鏈接:http://www.cnblogs.com/zzwlovegfj/archive/2012/06/23/2559592.html
?union:聯(lián)合的意思,即把兩次或多次查詢結(jié)果合并起來(lái)。
?要求:兩次查詢的列數(shù)必須一致
?推薦:列的類型可以不一樣,但推薦查詢的每一列,想對(duì)應(yīng)的類型以一樣
?可以來(lái)自多張表的數(shù)據(jù):多次sql語(yǔ)句取出的列名可以不一致,此時(shí)以第一個(gè)sql語(yǔ)句的列名為準(zhǔn)。
?如果不同的語(yǔ)句中取出的行,有完全相同(這里表示的是每個(gè)列的值都相同),那么union會(huì)將相同的行合并,最終只保留一行。也可以這樣理解,union會(huì)去掉重復(fù)的行。
如果不想去掉重復(fù)的行,可以使用union all。
?如果子句中有order by,limit,需用括號(hào)()包起來(lái)。推薦放到所有子句之后,即對(duì)最終合并的結(jié)果來(lái)排序或篩選。
如:(select * from a order by id) union (select * from b order id);
在子句中,order by 需要配合limit使用才有意義。如果不配合limit使用,會(huì)被語(yǔ)法分析器優(yōu)化分析時(shí)去除。
總結(jié)
以上是生活随笔為你收集整理的mysql之union合并查询的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: erlang mysql连接超时_Erl
- 下一篇: MCMC算法学习总结