您的位置:首页 > 数据库 > Oracle

oracle查询特殊用法

2009-08-13 10:38 399 查看
学号 学生姓名 课程名称 成绩(只显示每科最高分)
oracle 里可以这样用:
select a.studentid as "学 号",studentname "学生姓名",
subjectname "课程名称",mark "成 绩"
from student a , subject b , grade c
where a.studentid = c.studentid
and b.subjectid = c.subjectid
and (b.subjectid,mark) in(select subjectid,max(mark) from grade group by subjectid)
;

/**************************************************************************/

alter table grade add (ord number(3));
update grade a set ord = (
select count(*)+1 from grade where a.mark > mark
)

alter table grade add (ord2 number(3));
update grade a set ord2 = (
select count(*)+1 from grade where a.mark < mark
)

select * from grade;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: