oracle语法 续
上一篇 / 下一篇 2014-05-27 17:29:17 / 个人分类:甲骨文
]"b|;g;w8P
h _J
h0使用表达式
Hi`
[D#^
ravm({0=====================================================================51Testing软件测试网VufuuGz2@p _"F1_ g
/w$Tp;K1sL^(h0Select ename || ' 是一位 ' || job As 雇员细节,
uG)R+F[0 to_char(hiredate,'yyyy-mm-dd') As 雇佣时间,51Testing软件测试网2i\p8vU3l0E4i
sal*1.2
}h M#~(^8C:WU!J0From emp;
g;A9?FG051Testing软件测试网FV$UoVK3zu
=====================================================================51Testing软件测试网.Q5KSC.B {
取消重复行 distinct51Testing软件测试网'B N EM)W#]MW
=====================================================================
x&S_5A9F2E~051Testing软件测试网i
|V:z
X0A
Select Distinct deptno, job From emp;
8_.Rlp3Zl$Ij-p0
\B:[
y3M2X0=====================================================================
3A,G-d3b)ELo*z$C({)i0 指定列排序 order by
Y0RF([*U.R0=====================================================================
*N\/i vp`6EB4j)}0asc 升序,desc 降序
BI%v$zUQ0--------------------------------------------51Testing软件测试网 pB5j,\%o!PU
Select * From emp51Testing软件测试网 Y4\ vn1Cf
where sal between 1500 and 300051Testing软件测试网s'm0_Z M2}
Order By deptno Desc,ename;
-q'C
@PE^051Testing软件测试网+N(M6a(V4J
--------------------------------------------51Testing软件测试网q#F2sO"\
如果使用dsitinct,排序列必须是选择列
9o!Z-h,]0_0---------------------------
"d3yQ&|rY0select distinct depton, job 51Testing软件测试网l1LR#CN*r
from emp
:HYh~JS0{}%^0order by job;
!z(M'c'{{k{kjZ0---------------------------------------------
W/YZ1mmL3\gH0order by 子句必须是最后一个子句51Testing软件测试网e%jtu9q}_"h:Y
============================================================51Testing软件测试网 p+w6] oeR
分组查询语句51Testing软件测试网[p ZR"T^6bL3r
============================================================51Testing软件测试网 TS}5QU/B"M"Rw`
1。组处理函数不能出现在 where 子句中
;q:OE AOC02。选择列表中的列、表达式,必须出现在 group by 子句中
2sZ"a3yYHm03。组处理函数中可以指定 all 和 distinct51Testing软件测试网)\7iBkk'T0m.N!HhoR*v[
============================================================
!LyC;Gc|!w,`4s0分组函数51Testing软件测试网`d$~
R:fr%m
---------------------------------------
GKV$xF:M3[#O.p7~j'[0select avg(sal) as avg1,51Testing软件测试网,c_t}2z:t
avg(distinct sal) as avg2,
IN2b~M%jb,g$s%[E0 max(sal) as max,
n_pjD&m-@`0b0 min(sal) as min,51Testing软件测试网`U5]hZ2A[
sum(sal) as sum,
R$w'i8z9mA0 count(*) as cnt1,
D O4v!V@K;k0 count(sal) as cnt2,
1P9[\z1C J0 count(distinct sal) as cnt3
"o0N4V*@&C'DhtX0from emp
d^0\\O4[`0where deptno = 30;
+}I'[
C5Vt-X/I_e0
]p a yFyoQv${0============================================================51Testing软件测试网|_i2k$d!g
单列分组
k0g!D.J(V^5s*Wg
A0---------------------------------------------51Testing软件测试网 x2_7~sSNp(\5q
select deptno, avg(sal), max(sal) from emp51Testing软件测试网+zP*G([!N^6CQ
group by deptno;51Testing软件测试网Bb6SV6Y#i'?Gt
51Testing软件测试网!|/`wM{U3Z!y
select deptno, avg(sal), max(sal) from emp
g%D8_;n*xm/Z'DL,P0group by deptno
X0gJ/H8K E0order by avg(sal);51Testing软件测试网6a.t"^,b#F:a
RMzQ!qd)j{0============================================================51Testing软件测试网~1Mt4t
ri,]@PK
多列分组
;Q_ U6[7OnG0---------------------------------------------51Testing软件测试网SK#w/O%kq%Z
select deptno, job, avg(sal), max(sal), from emp51Testing软件测试网C.h^-`xsE$e
group by deptno, job;51Testing软件测试网,b3ag#]a7?;q
v:x ]4n&q7~k0============================================================51Testing软件测试网5?(] v'Y.YG]ps
============================================================51Testing软件测试网@A,OC
Y/y!n
rollup 用于生成横向统计信息51Testing软件测试网AS/CJs A:q5Y
--------------------------51Testing软件测试网u_&\hS\"`W
Select deptno, job, Avg(sal), Max(sal) From emp
-\ZZ:EnPs O0Group By rollup(deptno,job)51Testing软件测试网)R.])Pz3Ao'u7s