天天看点

sql语句查询结果合并union 和union all用法

--合并重复行

select * from A

union

select * from B

--不合并重复行

select * from A

union all

select * from B

按某个字段排序

--合并重复行

select *

from (

select * from A

union

select * from B) AS T

order by 字段名

--不合并重复行

select *

from (

select * from A

union all

select * from B) AS T

order by 字段名

//sql server版

Select * From (

select top 2 id,adddate,title,url from bArticle where ClassId='1' order by adddate desc) A

Union All

Select * From (

select top 2 id,adddate,title,url from bArticle where ClassId='2' order by adddate desc) B

Union All

Select * From (

select top 2 id,adddate,title,url from bArticle where ClassId='3' order by adddate desc) C

Union All

Select * From (

select top 2 id,adddate,title,url from bArticle where ClassId='4' order by adddate desc) D

//mysql版

Select * From (

select id,adddate,title,url from bArticle where ClassId='1' order by adddate desc limit 0,2) A

Union All

Select * From (

select id,adddate,title,url from bArticle where ClassId='2' order by adddate desc limit 0,2) B

Union All

Select * From (

select id,adddate,title,url from bArticle where ClassId='3' order by adddate desc limit 0,2) C

Union All

Select * From (

select id,adddate,title,url from bArticle where ClassId='4' order by adddate desc limit 0,2) D 

在DB2里使用union时一定要注意相对应的字段一定是数据类型一样,输出时可以任意显示的列,但不能输出不同类型或不同表结构。因为这样会出错。