码字定式之SQL(7)
时间:2022-03-14 03:05
With 子句从 oracle 9i 开始支持
对于第二条 sql 用到了 connect by ,现在只要知其然就可以了,不需要知其所以然。如果你有颗勇敢的心,可以问度娘。估计需要一到两天摸清里面的变化。另外值得一提的是,这种写法在不同数据库的支持情况是不同的,最好不要嵌套,虽然在11g里没问题,但是在9i 和 10g就难说了。嵌套是指类似 :with a as下面看一到用sql解的应用题 池塘边上有牛和鹅若干,小华总共看到15个头42条腿,请问牛和鹅各有多少?
--不用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;