1.使用case when then else end
select
case
when stuid=1002 then "李四" #如果stuid=1002则结果为李四
else "不是李四" #否则输出这个结果
end as "是否名字为李四" #end结束标志 必须要有 将其单独作为一个字段名称
from student;
#总的意思是 在student表中如果stuid是1002的则返回"李四",否则返回值"不是李四"
结果为:
这是原来表的数据
select stuid ,stunm,
Max(CASE WHEN coursenm ="大学语文" THEN scores ELSE 0 END ) as "大学语文",
Max(CASE WHEN coursenm ="新视野英语" THEN scores ELSE 0 END ) as "新视野英语",
Max(CASE WHEN coursenm ="离散数学" THEN scores ELSE 0 END ) as "离散数学",
Max(CASE WHEN coursenm ="概率论与数理统计" THEN scores ELSE 0 END ) as "概率论与数理统计",
Max(CASE WHEN coursenm ="线性代数" THEN scores ELSE 0 END ) as "线性代数",
Max(CASE WHEN coursenm ="高等数学(一)" THEN scores ELSE 0 END ) as "高等数学(一)",
Max(CASE WHEN coursenm ="高等数学(二)" THEN scores ELSE 0 END ) as "高等数学(二)"
from rowtocol
GROUP BY stuid;