请教两个查询 请教这两个查询的不同点,机制是什么?select t.dummy, decode(count('1'), null,0, 1) from dual t where 1 = 0 group by t.dummy;select decode(count('1'), null,0, 1) from dual t where 1 = 0; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先来看下dual是个什么东东1. dual 确实是一张表.是一张只有一个字段,一行记录的表. 2.习惯上,我们称之为'伪表'.因为他不存储主题数据.3. 他的存在,是为了操作上的方便.因为select 都是要有特定对象的.接下来看看你的语句1.想来让你郁闷的是第二条为什么查出来的是1,而第一条没数据,问题就出在count('1')上面,count('1')返回的值为0,你decode(count('1'),null,0,1)结果为1就可以理解了。2.至于第一条语句你理解了执行顺序就可以相通了。sql的执行顺序是这样子的from--where--group by--having--select--order by,select 在group的后面,所以第一条语句没有值。如果帮助到你的话,请给分呀!!!! 问题在于decode(count('1'),null,0,1) 处理的应该是两个函数的结果,貌似和结果集无关吧 不太明白 where 1=0不是没有数据显示的么? 撤销段和回滚段是一回事吗? oracle如何实现带参数的分页查询 关于ORACAL的一个类似查询问题 Oracle 10i First Release的新特性简介(上) (转贴) 哪里可以找到相关的资料? 求一个能实现每隔一段时间就自动备份Oracle10g数据库的脚本。详见内容 求大神指点 oracle如何进行异或运算? 关于SQLLDR的问题 如何只备份视图、包、包体和存储过程而不备份表? 请教两个查询 oracle 数据遍历问题.
1. dual 确实是一张表.是一张只有一个字段,一行记录的表.
2.习惯上,我们称之为'伪表'.因为他不存储主题数据.
3. 他的存在,是为了操作上的方便.因为select 都是要有特定对象的.
接下来看看你的语句
1.想来让你郁闷的是第二条为什么查出来的是1,而第一条没数据,问题就出在count('1')上面,count('1')返回的值为0,你decode(count('1'),null,0,1)结果为1就可以理解了。
2.至于第一条语句你理解了执行顺序就可以相通了。sql的执行顺序是这样子的
from--where--group by--having--select--order by,select 在group的后面,所以第一条语句没有值。
如果帮助到你的话,请给分呀!!!!