SQL面试题

来源:互联网 发布:制作录音软件手机软件 编辑:程序博客网 时间:2024/04/29 05:15

有3个表S,C,SC

S(SNO, SNAME)代表(学号,姓名)

C(CNO,CNAME,CTEACHER)代表(课号,课名,教师)

SC(SNO, CNO, SCGRADE)代表(学号,课号成绩)

问题:

1、找出没选过‘黎明“老师的所有学生姓名。

2、列出两门以上(含2门)不及格学生姓名及平均成绩。

3、即学过1号课程有学过2号课所有学生的姓名。

请用标准SQL语言写出答案,方言也行(请说明是使用什么方言)。

1、select sname from s join sc on (s.sno = sc.sno) join c on (c.no = sc.cno) where c.cteacher <> '黎明';

2、select sname from s where sno in (select count(*) from sc where scgrade< 60 group by sno having count(*) >= 2);

3、select sname from s where sno in (select sno from sc where cno = 1 and sno in(select sno from sc where cno =2));

0 0