db2 union all 是如何组织数据的?

evoleht 2010-09-03 04:11:13
在Oracle中,Union All将按照关联的次序组织数据,那在DB2中呢,它是怎么来组织关联的数据的?
...全文
1062 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xing_6 2010-09-19
  • 打赏
  • 举报
回复
不要对查询的结果记录集顺序做任何假设,顺序是不确定的。除非 order by 指定。
WWWWA 2010-09-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 evoleht 的回复:]
引用 3 楼 wwwwb 的回复:
可以在DB2中测试一下,UNION all如果没有ORDER BY,是按照sql语句的顺序


我每个union all 的sql语句都带一个order by 字句,就几个的时候还能看出来是按sql语句倒叙的顺序。。多了就乱了。。。。。
[/Quote]
这种情况下,要加入1个标识字段,在最后加入ORDER BY
zhaojianmi1 2010-09-05
  • 打赏
  • 举报
回复
呵呵,加班是常态啊[Quote=引用 6 楼 evoleht 的回复:]
= =!麻烦了。。。。。明天又要加班了。。。
[/Quote]
yangxiao_jiang 2010-09-04
  • 打赏
  • 举报
回复
如果想要每个select都排序的话,加个伪列
select * from (
select student.*,1 as ord
from student
where score>=75
union all
select student.*,2 as ord
from student
where score< 75
)as temp order by temp.ord
不知道你是不是要这样的结果
zhaojianmi1 2010-09-03
  • 打赏
  • 举报
回复
几个union all并行执行,出的结果不按顺序
evoleht 2010-09-03
  • 打赏
  • 举报
回复
= =!麻烦了。。。。。明天又要加班了。。。
ACMAIN_CHM 2010-09-03
  • 打赏
  • 举报
回复
由DB2自行控制。 在几个结果重新UNION的时候,顺序会打乱。
evoleht 2010-09-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wwwwb 的回复:]
可以在DB2中测试一下,UNION all如果没有ORDER BY,是按照sql语句的顺序
[/Quote]

我每个union all 的sql语句都带一个order by 字句,就几个的时候还能看出来是按sql语句倒叙的顺序。。多了就乱了。。。。。
wwwwb 2010-09-03
  • 打赏
  • 举报
回复
可以在DB2中测试一下,UNION all如果没有ORDER BY,是按照sql语句的顺序
evoleht 2010-09-03
  • 打赏
  • 举报
回复

student
name------------score

1111------------78
2222------------95
3333------------67
4444------------77
5555------------89
6666------------96
7777------------84
8888------------45
9999------------69

select *
from student
where score< 75
union all
select *
from student
where score>=75




结果
3333 67
8888 45
9999 69
1111 78
2222 95
4444 77
5555 89
6666 96
7777 84

语句顺序换一下


select *
from student
where score>=75
union all
select *
from student
where score< 75


结果
1111 78
2222 95
4444 77
5555 89
6666 96
7777 84
3333 67
8888 45
9999 69

返回的结果是按你sql语句的顺序来组织的
wwwwb 2010-09-03
  • 打赏
  • 举报
回复
举例说明一下 “按照关联的次序组织数据”

5,891

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧