mysql - case when用法


CASE WHEN condition THEN result 

   WHEN condition THEN result 

   .............
   [WHEN ...] 
   [ELSE result] 
END

CASE 子句可以用於任何表達式可以有效存在的地方。 condition 是一個返回boolean 的表達式。 如果結果為真,那么 CASE 表達式的結果就是符合條件的 result。 如果結果為假,那么以相同方式搜尋任何隨后的 WHEN 子句。 如果沒有 WHEN condition 為真,那么 case 表達式的結果就是在 ELSE 子句里的值。 如果省略了 ELSE 子句而且沒有匹配的條件, 結果為 NULL。

 

例子:

  學生表

  

 

  成績表:

    

 

   查詢每個學生的成績,並展示學生的id,學生姓名,語文,數學,英語

  

SELECT a.id,a.name,
(case WHEN b.kemu = '數學' THEN score ELSE 0 END) as 數學,
(case WHEN b.kemu = '語文' THEN score ELSE 0 END) as 語文,
(case WHEN b.kemu = '英語' THEN score ELSE 0 END) as 英語
FROM student a,grade b
WHERE a.id = b.id

  結果:

    

 


免責聲明!

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



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