`

case when then else

SQL 
阅读更多
case when then else
sql语句判断方法之一
Case具有两种格式。简单Case函数和Case搜索函数。
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END


这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。
还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。

例子:
有一张表,里面有3个字段:语文,数学,英语。其中有3条记录分别表示语文70分,数学80分,英语58分,请用一条sql语句查询出这三条记录并按以下条件显示出来(并写出您的思路):
  大于或等于80表示优秀,大于或等于60表示及格,小于60分表示不及格。
      显示格式:
      语文              数学                英语
      及格              优秀                不及格  
------------------------------------------
select
(case when 语文>=80 then '优秀'
        when 语文>=60 then '及格'
else '不及格') as 语文,
(case when 数学>=80 then '优秀'
        when 数学>=60 then '及格'
else '不及格') as 数学,
(case when 英语>=80 then '优秀'
        when 英语>=60 then '及格'
else '不及格') as 英语,
from table
分享到:
评论

相关推荐

    case when和sum case when 写法及拼接字段

    SUM(CASE WHEN condition THEN value ELSE 0 END) AS total FROM table; ``` 其中: - `condition` 是一个布尔表达式,如果为真,则执行 `THEN` 子句。 - `value` 是当 `WHEN` 条件为真时返回的值,通常是一个...

    casewhen多条件oracle-casewhen(casewhen同时满足多条件).pdf

    其中,WHEN 子句用于指定条件,THEN 子句用于指定结果,ELSE 子句用于指定默认结果。 CASE WHEN 语句可以用来实现多个条件的判断和执行,例如: ```sql SELECT * FROM 表 WHERE 1=1 AND ( CASE WHEN a=1 THEN a ...

    sql学习之CASE WHEN THEN ELSE END的用法

    在SQL语言中,`CASE WHEN THEN ELSE END`结构是一种强大的条件判断工具,它允许你在查询中根据特定条件执行不同的逻辑。这个结构可以在`SELECT`、`WHERE`、`HAVING`、`UPDATE`和`INSERT`等语句中使用,以实现复杂的...

    sql数据库 转 Access SQL语句改写之 Case When Then When Then Else End

    ### SQL数据库转Access SQL语句改写:Case When Then When Then Else End #### 知识点一:SQL CASE WHEN THEN 结构与Access IIF及SWITCH函数对比 在进行SQL到Access SQL的转换过程中,一个重要的知识点是了解如何...

    oracle where case when where后面跟case when

    WHERE salary > (CASE WHEN AVG(salary) IS NOT NULL THEN AVG(salary) ELSE 0 END); ``` 在这个例子中,`CASE WHEN`语句检查平均薪资是否为`NULL`,如果不是,则使用平均薪资作为比较值;如果是`NULL`,则使用0。 ...

    详细解析 mysql 中的 case when 语句的使用

    SUM(CASE WHEN download_type_id = 13 THEN 1 ELSE 0 END) AS count_13, SUM(CASE WHEN download_type_id = 14 THEN 1 ELSE 0 END) AS count_14, SUM(CASE WHEN download_type_id = 15 THEN 1 ELSE 0 END) AS ...

    ORACLE多条件统计查询的简单方法

    在描述中提到的方法,通过使用`CASE WHEN THEN ELSE END`语句,我们可以实现更简洁且高效的统计查询。 `CASE`表达式在SQL中是一个非常强大的工具,它允许我们在查询中进行条件判断。在Oracle中,`CASE`语句的基本...

    oracle数据库截取字符串

    case when then else end 语句用于根据条件执行不同的操作,语法为 `CASE WHEN condition THEN result [WHEN condition THEN result ...] ELSE result END`。其中,`condition` 是条件表达式,`result` 是执行的结果...

    SQL集合函数中case when then 使用技巧

    在SQL中,`CASE WHEN THEN` 语句用于条件判断,它可以用来转换或过滤数据,尤其是在聚合函数中,如 `COUNT()`, `SUM()`, `AVG()` 等。这个表达式允许我们在一个查询中根据不同的条件执行不同的操作。 在标题提到的...

    case when then语句用法

    该语句的执行过程是:将CASE后面表达式的值与各WHEN子句中的表达式的值进行比较,如果两者相等,则返回THEN后的表达式的值,然后跳出CASE语句,否则返回ELSE子句中的表达式的值。ELSE子句是可选项。当CASE语句中不...

    sum(case when then)(判断男女生的个数)

    SUM(CASE WHEN gender = 0 THEN 1 ELSE 0 END) AS male_count, SUM(CASE WHEN gender = 1 THEN 1 ELSE 0 END) AS female_count FROM students; ``` 这段代码将计算 `students` 表中性别为0(男生)和1(女生)的...

    oracle case when 语句的用法详解

    1. CASE WHEN 表达式有两种形式 代码如下:–简单Case函数 CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘2’ THEN ‘女’ ELSE ‘其他’ END –Case搜索函数 CASEWHEN sex = ‘1’ THEN ‘男’ WHEN sex = ‘2’ ...

    Oracle_case_when_用法

    2. **默认值**:`ELSE` 子句是可选的,但如果所有 `WHEN` 条件均未被满足,则 `CASE` 表达式将返回 `NULL` 值或 `ELSE` 后面定义的默认值。 3. **结束标识**:`CASE` 表达式必须以 `END` 关键字结束。 4. **别名使用...

    山东大学数据库2018年实验4实验报告

    实验中,学生需要使用 create table 语句创建表格,alter table 语句添加表格的属性,update 语句更新表格中的数据,并且学习使用 case when then else end 语句和 replace 函数来进一步加强对表格数据的更新。...

    decode函数与case when 的妙用

    在数据库管理和SQL编程中,`DECODE`函数和`CASE WHEN`语句是两种非常重要的逻辑判断工具,它们常用于处理条件分支和数据转换。在这篇文章中,我们将深入探讨这两种方法的用途、区别以及如何巧妙地运用它们。 首先,...

    sql case when exists not exists in not in

    在SQL查询中,`CASE WHEN`、`EXISTS`、`NOT EXISTS`以及`IN`和`NOT IN`是常用的操作符,它们用于处理复杂的条件判断和数据筛选。这些概念对于理解和编写高效的SQL语句至关重要,尤其是在数据分析和数据库管理中。 `...

    SQL习题集大全(超级好)

    9. case when then else end 在 select 中的应用:从教师表中查询,将性别_id 是 1 的显示为男,是 2 的显示为女select (case when 性别_ID=1 then '男' when 性别_ID=2 then '女' end) from dbo.教师 10. 横向查询...

    10个高级sql写法.pdf

    `CASE WHEN THEN ELSE END`表达式提供了一种灵活的方式来处理条件逻辑,类似于编程语言中的`if...else`结构。在`order_diy`表中,如果我们要根据`money`字段值设定`level`级别(大于60为高级,大于30为中级,其余为...

    SQL Server中Case 的不同用法

    WHEN price BETWEEN 10 AND 20 THEN 'Average' ELSE 'Gift to impress relatives' END AS 'Price Range' FROM titles ORDER BY price; ``` 2. **在GROUP BY子句中的应用**: CASE表达式也可用于GROUP BY子句,...

Global site tag (gtag.js) - Google Analytics