sql case oracle,oracle case when的用法

3004c79149e2b6c78bf4b500a9ed8d30.png

CASE WHEN 在语句中不同位置的用法

1、SELECT CASE WHEN 用法SELECT grade, COUNT (CASE WHEN sex = 1 THEN 1 /*sex 1为男生,2位女生*/

ELSE NULL

END) 男生数,

COUNT (CASE WHEN sex = 2 THEN 1

ELSE NULL

END) 女生数

FROM students GROUP BY grade;

2、WHERE CASE WHEN 用法SELECT T2.*, T1.*

FROM T1, T2

WHERE (CASE WHEN T2.COMPARE_TYPE = 'A' AND

T1.SOME_TYPE LIKE 'NOTHING%'

THEN 1

WHEN T2.COMPARE_TYPE != 'A' AND

T1.SOME_TYPE NOT LIKE 'NOTHING%'

THEN 1

ELSE 0

END) = 1

3、GROUP BY CASE WHEN 用法SELECT

CASE WHEN salary <= 500 THEN '1'

WHEN salary > 500 AND salary <= 600 THEN '2'

WHEN salary > 600 AND salary <= 800 THEN '3'

WHEN salary > 800 AND salary <= 1000 THEN '4'

ELSE NULL END salary_class, -- 别名命名

COUNT(*)

FROM Table_A

GROUP BY

CASE WHEN salary <= 500 THEN '1'

WHEN salary > 500 AND salary <= 600 THEN '2'

WHEN salary > 600 AND salary <= 800 THEN '3'

WHEN salary > 800 AND salary <= 1000 THEN '4'

ELSE NULL END;

推荐教程:mysql教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OracleCASE WHEN语句是一种用于在SQL查询实现条件逻辑的表达式。它类似于其他编程语言的if-then-else结构,可以根据满足的条件返回不同的结果。 在OracleCASE WHEN语句有两种常见的用法: 1. 简单的CASE表达式:使用该表达式可以根据列的值返回不同的结果。语法如下: ``` SELECT CASE 列名 WHEN 值1 THEN 结果1 WHEN 值2 THEN 结果2 ELSE 结果3 END FROM table1; ``` 这种用法适用于在查询结果根据列的值进行条件判断,并返回不同的结果。 2. 检索的CASE表达式:使用该表达式可以根据条件进行判断并返回不同的结果。语法如下: ``` SELECT CASE WHEN 条件1 THEN 条件1的结果 WHEN 条件2 THEN 条件2的结果 ELSE 条件1,2以外的结果 END FROM table1; ``` 这种用法适用于根据多个条件进行判断,并返回符合条件的结果。 除了上述两种用法之外,CASE WHEN语句还可以用于作为条件判断函数,如COUNT和SUM。例如: ``` SELECT COUNT( CASE WHEN AGE = 18 THEN '18岁的学生个数' END) EIGHTENN, COUNT( CASE WHEN AGE = 19 THEN '19岁的学生个数' END) NINETEEN FROM "PeopleInfo"; ``` 这个查询可以根据年龄进行条件判断,并返回不同年龄段的学生个数。 总结一下,OracleCASE WHEN语句是一种用于在SQL查询实现条件逻辑的表达式。它有两种常见的用法:简单的CASE表达式和检索的CASE表达式。此外,它还可以用于作为条件判断函数,如COUNT和SUM。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值