Oracle case函数使用详解
发布时间:2021-12-01 17:44:23 所属栏目:教程 来源:互联网
导读:1.创建测试表: 复制代码 代码如下: DROP SEQUENCE student_sequence; CREATE SEQUENCE student_sequence START WITH 10000 INCREMENT BY 1; DROP TABLE students; CREATE TABLE students ( id NUMBER(5) PRIMARY KEY, first_name VARCHAR2(20), last_name VAR
1.创建测试表: 复制代码 代码如下: DROP SEQUENCE student_sequence; CREATE SEQUENCE student_sequence START WITH 10000 INCREMENT BY 1; DROP TABLE students; CREATE TABLE students ( id NUMBER(5) PRIMARY KEY, first_name VARCHAR2(20), last_name VARCHAR2(20), major VARCHAR2(30), current_credits NUMBER(3), grade varchar2(2)); INSERT INTO students (id, first_name, last_name, major, current_credits,grade) VALUES (student_sequence.NEXTVAL, 'Scott', 'Smith', 'Computer Science', 98,null); INSERT INTO students (id, first_name, last_name, major, current_credits,grade) VALUES (student_sequence.NEXTVAL, 'Margaret', 'Mason', 'History', 88,null); INSERT INTO students (id, first_name, last_name, major, current_credits,grade) VALUES (student_sequence.NEXTVAL, 'Joanne', 'Junebug', 'Computer Science', 75,null); INSERT INTO students (id, first_name, last_name, major, current_credits,grade) VALUES (student_sequence.NEXTVAL, 'Manish', 'Murgratroid', 'Economics', 66,null); commit; 2.查看相应数据 复制代码 代码如下: SQL> select * from students; ID FIRST_NAME LAST_NAME MAJOR CURRENT_CREDITS GR ---------- -------------------- -------------------- ------------------------------ --------------- -- 10000 Scott Smith Computer Science 98 10001 Margaret Mason History 88 10002 Joanne Junebug Computer Science 75 10003 Manish Murgratroid Economics 66 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.更新后结果 复制代码 代码如下: SQL> select * from students; ID FIRST_NAME LAST_NAME MAJOR CURRENT_CREDITS GR ---------- -------------------- -------------------- ------------------------------ --------------- -- 10000 Scott Smith Computer Science 98 a 10001 Margaret Mason History 88 b 10002 Joanne Junebug Computer Science 75 c 10003 Manish Murgratroid Economics 66 d ![]() (编辑:我爱制作网_潮州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |