mysql case使用
时间: 2023-11-09 21:57:15 浏览: 89
MySQL的CASE语句是一种条件表达式,用于根据满足的条件返回相应的值。它可以在SQL查询中执行IF ELSE逻辑来检查条件并获取所需的结果。CASE语句的语法如下:
CASE
WHEN condition1 THEN value1
WHEN condition2 THEN value2
WHEN conditionN THEN valueN
ELSE value
END
其中,condition是一个条件表达式,value是与条件匹配时返回的值。当满足多个条件时,CASE语句只会返回第一个匹配的值。如果没有任何条件匹配并且没有提供ELSE部分,CASE语句将返回NULL。
以下是一个使用CASE语句的示例查询,该查询计算每个学生的语文、数学、英语成绩,并计算总分:
SELECT s.`s#`, s.`s_name`, s.`s_age`,
SUM(CASE c.`c_name` WHEN '语文' THEN cs.`score` ELSE 0 END) AS '语文',
SUM(CASE c.`c_name` WHEN '数学' THEN cs.`score` ELSE 0 END) AS '数学',
SUM(CASE c.`c_name` WHEN '英语' THEN cs.`score` ELSE 0 END) AS '英语',
SUM(cs.`score`) AS '总分'
FROM students s
LEFT JOIN cs ON s.`s#` = cs.`s#`
LEFT JOIN course c ON c.`c#` = cs.`c#`
GROUP BY s.`s#`, s.`s_name`, s.`s_age`
ORDER BY SUM(cs.`score`) DESC;
阅读全文