case函数使用介绍

1.创建测试表:

代码如下:

CREATE TABLE students (
  id               int PRIMARY KEY,
  first_name       char(20),
  last_name        char(20),
  major            char(30),
  current_credits  char(3),
  grade     char(2));

INSERT INTO students (id, first_name, last_name, major, current_credits,grade)
  VALUES (1, 'Scott', 'Smith', 'Computer Science', 98,null);

INSERT INTO students (id, first_name, last_name, major, current_credits,grade)
  VALUES (2, 'Margaret', 'Mason', 'History', 88,null);

INSERT INTO students (id, first_name, last_name, major, current_credits,grade)
  VALUES (3, 'Joanne', 'Junebug', 'Computer Science', 75,null);

INSERT INTO students (id, first_name, last_name, major, current_credits,grade)
  VALUES (4, 'Manish', 'Murgratroid', 'Economics', 66,null);

2.查看相应数据

代码如下:

select * from students

3.更新语句

代码如下:
update students
set grade = (
select grade from
(
select id,
case when current_credits > 90 then 'a'
     when current_credits > 80 then 'b'
     when current_credits > 70 then 'c'
else 'd' end grade
from students
) a
where a.id = students.id
)

4.更新后结果

代码如下:
select * from students






评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值