一道sql面试题吧

Posted 断弦有谁知

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一道sql面试题吧相关的知识,希望对你有一定的参考价值。

create table tmpy1
(
sno char(4), --学号
cno char(4), --课程号
value1 decimal(14,2) --成绩
)
insert into tmpy1 values('s1','c1',10);
insert into tmpy1 values('s1','c2',20);
insert into tmpy1 values('s2','c1',30);
insert into tmpy1 values('s2','c2',40);
insert into tmpy1 values('s2','c3',50);
insert into tmpy1 values('s3','c1',60);
insert into tmpy1 values('s3','c3',70);
insert into tmpy1 values('s4','c1',80);
insert into tmpy1 values('s4','c2',90);
1、查询与s1选择课程一样的学生学号、姓名
select unique sno from tmpy1
where cno IN (select cno from tmpy1 where sno = 's1')  and sno <> 's1' 
2、查询每科分数最高的2条记录
SELECT a.sno,a.cno,a.value1 FROM tmpy1 a WHERE (SELECT COUNT(cno) FROM tmpy1 WHERE cno=a.cno AND a.value1<value1)<2 
ORDER BY cno ASC,value1 DESC


或用 left join  


另可参见:
http://blog.csdn.net/acmain_chm/article/details/4126306

以上是关于一道sql面试题吧的主要内容,如果未能解决你的问题,请参考以下文章

一道号称“史上最难”的java面试题引发的线程安全思考

一道号称“史上最难”的java面试题引发的线程安全思考

太难了,每天刷一道编程题吧(二十)

碰到日期题就怕的我来写一道水题吧

简单的工厂模式

简单的工厂模式