现有学生课程数据库的三张表,
学生表 Student(Sno,Sname,Ssex,Sage,Sdept):Sno-学号,Sname-姓名,Ssex-性别,Sage-年龄,Sdept-所在系
课程表Course(Cno,Cname,Cpno,Ccredit):Cno-课程号,Cname-课程名,Cpno-选修课号,Ccredit-学分
学生选课表SC(Sno,Cno,Grade):Sno-学号,Cno-课程号,Grade-成绩
问题:
1、求各个课程号及其相应的选课人数,按照选课人数降序排列
2、求所有学生的姓名以及其选修课程的课程名。注意有部分学生未选任何课程
3、求与“张三”在同一个系学习的学生学号和姓名
4、查询没有选修1号课程的学生姓名
答案
1 select * from SC order by (select count(Cno)from SC group by Cno) asc
2.select Sname,Cname,Cpno from Student left join (
select Sno ,Cno ,Cname ,Cpno ,Ccredit from Course inner jion SC on Course.Cno=SC.Cno)t on Course.Sno=t.Sno
3. select Sno,Sname ,Sdept from Student where Sdept = (select Sdept from Student where Sname='张三' )
4. select Sname from Student where Sdept ont in(Sdept='选修一号')