admin 管理员组文章数量: 1087139
2024年4月17日发(作者:ibm pc汇编语言程序设计)
常见SQL数据库面试题和答案(一)
Student(S#,Sname,Sage,Ssex) 学生表 S#:学号;Sname:学生姓名;Sage:
学生年龄;Ssex:学生性别
Course(C#,Cname,T#) 课程表 C#,课程编号;Cname:课程
名字;T#:教师编号
SC(S#,C#,score) 成绩表 S#:学号;C#,课程编号;
score:成绩
Teacher(T#,Tname) 教师表 T#:教师编号; Tname:教
师名字
问题:
1、查询“001”课程比“002”课程成绩高的所有学生的学号;
select # from (select s#,score from SC where C#='001') a,(select s#,score
from SC where C#='002') b
where > and #=#;
2、查询平均成绩大于60分的同学的学号和平均成绩;
select S#,avg(score)
from sc
group by S# having avg(score) >60;
3、查询所有同学的学号、姓名、选课数、总成绩;
select #,,count#),sum(score)
from Student left Outer join SC on #=#
group by #,Sname
4、查询姓“李”的老师的个数;
select count(distinct(Tname))
from Teacher
where Tname like '李%';
5、查询没学过“叶平”老师课的同学的学号、姓名;
select #,
from Student
where S# not in (select distinct( #) from SC,Course,Teacher where #=# and
#=# and ='叶平');
6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;
select #, from Student,SC where #=# and #='001'and exists( Select * from SC
as SC_2 where #=# and #='002');
7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;
select S#,Sname
from Student
where S# in (select S# from SC ,Course ,Teacher where #=# and #=# and ='叶
平' group by S# having count#)=(select count(C#) from Course,Teacher where
#=# and Tname='叶平'));
8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;
Select S#,Sname from (select #,,score ,(select score from SC SC_2 where #=#
and #='002') score2
from Student,SC where #=# and C#='001') S_2 where score2 9、查询所有课程成绩小于60分的同学的学号、姓名; select S#,Sname from Student where S# not in (select # from Student,SC where #=# and score>60); 10、查询没有学全所有课的同学的学号、姓名; select #, from Student,SC where #=# group by #, having count(C#) <(select count(C#) from Course); 11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名; select S#,Sname from Student,SC where #=# and C# in select C# from SC where S#='1001'; 12、查询至少学过学号为“001”同学所有一门课的其他同学学号和姓名; select distinct #,Sname from Student,SC where #=# and C# in (select C# from SC where S#='001'); 13、把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩; update SC set score=(select avg from SC SC_2 where #=# ) from Course,Teacher where #=# and #=# and ='叶平'); 14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名; select S# from SC where C# in (select C# from SC where S#='1002') group by S# having count(*)=(select count(*) from SC where S#='1002'); 15、删除学习“叶平”老师课的SC表记录; Delect SC from course ,Teacher where #=# and #= # and Tname='叶平'; 16、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“003” 课程的同学学号、2、
版权声明:本文标题:常见SQL数据库面试题和答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1713356946a630676.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论