首页 > 代码库 > 码字定式之SQL(7)
码字定式之SQL(7)
With 子句从 oracle 9i 开始支持
--不用connect by,只用dual表,构造出1到128
with a as (select 1 from dual union all select 1 from dual)
select rownum from a, a, a, a, a, a, a;
--做一个5*5的乘法表
with multiplier as (select rownum n from dual connect by rownum<6)
select a.n||‘*‘||b.n||‘=‘||(a.n*b.n) from multiplier a, multiplier b;
对于第二条 sql 用到了 connect by ,现在只要知其然就可以了,不需要知其所以然。如果你有颗勇敢的心,可以问度娘。估计需要一到两天摸清里面的变化。
另外值得一提的是,这种写法在不同数据库的支持情况是不同的,最好不要嵌套,虽然在11g里没问题,但是在9i 和 10g就难说了。
嵌套是指类似 :
with a as
下面看一到用sql解的应用题
池塘边上有牛和鹅若干,小华总共看到15个头42条腿,请问牛和鹅各有多少?
来自为知笔记(Wiz)
码字定式之SQL(7)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。