SQL中使用case when 代替where


查資料,發現case when的皮毛用法.但它與where條件相比,孰優孰劣,還真沒搞個所以然呢!
比如想查自帶表emp里,mgr是王的7839編號的人總數,並按部門分組統計,可以這樣:

SELECT e.deptno 部門編號, count(CASE WHEN e.mgr=7839 THEN 1 ELSE NULL END) 王的眾大臣人數 FROM emp e GROUP BY e.deptno;

查詢結果

注意:剛才的SQL語句中如果null換成0,就有問題了.

因為有需要,特整理下.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM