drop table student --删除表
create table student --创建表
(
name varchar2(50),
class varchar2(50),
score int
)
--给表新增数据
insert into student(name,class,score)values('小明','语文',80);
insert into student(name,class,score)values('小明','英语',89);
insert into student(name,class,score)values('小明','数学',95);
insert into student(name,class,score)values('小强','数学',90);
insert into student(name,class,score)values('小强','英语',85);
insert into student(name,class,score)values('小强','语文',70);
--查询表
select * from student
查询结果:
--用decode函数实现行列转换
SELECT NAME 姓名,
SUM (DECODE (CLASS, '语文', score, 0)) 语文,
SUM (DECODE (CLASS, '数学', score, 0)) 数学,
SUM (DECODE (CLASS, '英语', score, 0)) 英语
FROM student
GROUP BY NAME
结果:
完成行列转置。