oracle條件表達式與分組
阿新 • • 發佈:2018-08-01
str 默認值 關鍵字 例子 條件表達式 技術分享 strong 9.png 分享圖片 ELSE ‘零‘
END "中文數值"
FROM dept;
前言
表中的數據
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 ‘四十‘
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條件表達式與分組