1. 程式人生 > >oracle條件表達式與分組

oracle條件表達式與分組

str 默認值 關鍵字 例子 條件表達式 技術分享 strong 9.png 分享圖片

前言

表中的數據

技術分享圖片

技術分享圖片

1條件表達式

1.1數據庫通用條件表達式

語法:

case 列

when 列值1 then 顯示值1

when 列值2 then 顯示值2

when 列值3 then 顯示值3

else

默認值

end

例子:

表的數據

技術分享圖片

SELECT deptno ,case deptno
  WHEN 10 THEN ‘十‘
  WHEN 20 THEN ‘二十‘
  WHEN 30 THEN ‘三十‘
  WHEN 40 THEN ‘四十‘

  ELSE ‘零‘
  END "中文數值"
FROM dept;

技術分享圖片

1.2oracle特有條件表達式

decode(列,列值1,顯示值1,列值2,顯示值2,默認值)

SELECT deptno,
DECODE(deptno,10,‘十‘,20,‘二十‘,30,‘三十‘,40,‘四十‘,‘五十‘)
FROM emp;

技術分享圖片

2.分組

分組關鍵字group by ,過濾條件having

SELECT deptno, COUNT(ename) FROM emp GROUP BY deptno

技術分享圖片

加上having過濾條件

SELECT deptno, COUNT(ename) FROM emp GROUP BY deptno HAVING deptno >10;

技術分享圖片

where和having的區別:

where後面不能接聚合函數,可以接單行函數

having實在group by之後執行,可以接聚合函數

oracle條件表達式與分組