日期:2014-05-17  浏览次数:20876 次

几个SQL语句的题
1 有一个员工表(S_EMP)有栏位last_name(姓名),salary(薪水),DEPT_ID   (部门ID)等
A   :   找出公司里收入最高的前三名员工
B   :   找出那些工资高于他们所在部门的平均工资的员工

2 有一表
学生编号 姓名 科别 分数
1000 张三 语文 79
1000 张三 数学 100
1000 张三 外语 80
1001 李四 语文 83
1001 李四 数学 62
1001 李四 外语 90
如何得出如下表
学生编号 姓名 语文 数学 外语
1000 张三 79 100 80
1001 李四 83 62 90
请自行建立Table并写出上述转换的SQL


------解决方案--------------------
a
select * from (select * from s_emp order by salary desc) where rownum <4
------解决方案--------------------
select avg(sno),sname,sum(decode(scurse, '数学 ',nsorce)) 数学,sum(decode(scurse, '语文 ',nsorce)) 语文,sum(decode(scurse, '英语 ',nsorce)) 英语 from student group by sname