使用SQL中SELECT语句的使用条件逻辑

数据库 SQL Server
如果使用CASE表达式直接在SELECT语句中执行条件逻辑,可以解决使用数据库中的一些问题,下面将为您示例分析,供您参考

如果使用CASE表达式直接在SELECT语句中执行条件逻辑,可以解决使用数据库中的一些问题,下面将为您示例分析,供您参考:

问题

    在SELECT语句中对数值进行IF-ELSE操作。例如,要产生一个结果集,如果一个员工的工资小于等于$2000,就返回消息UNDERPAID,如果大于等于$4000,就返回消息OVERPAID,如果在两者之间,就返回OK。结果集应如下所示:

ENAME SAL STATUS
---------- ---------- ----------
SMITH 800 UNDERPAID
ALLEN 1600 UNDERPAID
WARD 1250 UNDERPAID
JONES 2975 OK
MARTIN 1250 UNDERPAID
BLAKE 2850 OK
CLARK 2450 OK
SCOTT 3000 OK
KING 5000 OVERPAID
TURNER 1500 UNDERPAID
ADAMS 1100 UNDERPAID
JAMES 950 UNDERPAID
FORD 3000 OK
MILLER 1300 UNDERPAID

 

解决方案

    使用CASE表达式直接在SELECT语句中执行条件逻辑。

select ename,sal,
    case when sal <= 2000 then 'UNDERPAID'
         when sal >= 4000 then 'OVERPAID'
         else 'OK'
    end as status
from emp

讨论

    CASE表达式可以针对返回值执行条件逻辑。可以给CASE表达式取别名,以返回更易读的结果集。在本解决方案中,给CASE表达式取的别名是STATUS。ELSE子句是可选的,如果没有使用ELSE,对于不满足判断条件的行,CASE表达式会返回NULL。

 

【编辑推荐】

SQL语句中SELECT语句的执行顺序

SQL语句中的嵌套SELECT语句

为您讲解SQL的SELECT语句

SQL批量删除含有外键的表的方法

sql删除重复记录没有大小关系时重复值的处理方法

责任编辑:段燃 来源: 互联网
相关推荐

2010-11-11 11:37:22

SQL SELECT语

2022-04-21 07:20:39

Javascript重构逻辑

2010-09-26 10:08:43

sql条件语句

2010-09-07 15:54:47

SQL语句LIKE

2021-07-10 14:22:24

前端代码条件逻辑

2010-09-17 16:53:14

SQL中CREATE

2010-09-03 15:27:02

SQLSELECT语句

2010-09-07 11:24:25

SQL语句

2010-09-07 13:50:41

SQL语句

2011-07-22 16:59:30

MySQL数据库嵌套查询

2023-03-30 09:10:06

SQLSELECTFROM

2010-09-03 14:39:15

SQLSELECT语句

2010-09-03 14:47:50

SQLSELECT语句

2010-11-11 11:49:02

SQL嵌套SELECT

2010-09-07 16:38:36

SQL语句SELECT DIST

2021-06-09 10:45:12

JavaScript开发 编程

2010-09-17 10:39:36

SQL中

2010-09-25 14:44:45

SQL select语

2010-09-03 14:31:31

SQLSELECT语句

2010-09-17 14:48:28

SQL条件语句
点赞
收藏

51CTO技术栈公众号