SQL语句中case,when,then的用法?
select case when 字段名 is null then '录入' else 字段名 end as 别名 from 表名 where 条件
别名要不要都行。 语法没多少用的!要有一个整段sql例子!你就懂了
case when后面then可以多个吗?
case when是数据库语言里的一种分支判断和查询方式,当某个列的值不同时返回不同的结果,一个when只能和一个then匹配,不可以多个。基本语法为:
case
when 列名= 条件值1 then 选择项1
when 列名=条件值2 then 选项2.......
else 默认值 end
或:
图片来源:网络
case 列名
when 条件值1 then 选择项1
when 条件值2 then 选项2.......
else 默认值 end
可见,when和then是成对使用的。
我们举个简单的例子,根据不同的考试分数判断等级:
case
when 分数<60 then '不合格'
when 分数>=60 and 分数<80 then '合格'
when 分数>=80 then '优秀'
end
1、不可以,CASE WHEN语句的语法是只能有一个THEN子句。
2、在CASE WHEN语句中,可以有多个WHEN条件,但每个WHEN条件只能对应一个THEN子句。
3、如果需要多个THEN子句,可以使用多个CASE WHEN语句嵌套。
oracle或者mysql中有一张表students表,怎么写一个sql同时查出来男生和女生的人数?
selectsex,count(*)人数fromstudentsgroupbysex;或者selectcount(casewhensex='男'thensexend)男性人数,count(casewhensex='女'thensexend)女性人数fromstudents