今天看到一个sql的面试题,我想应该记录一下

1.现在有三各表,表结构主要字段如下:
学生表 student:
s_id int  //学生id
s_name varchar2 //学生姓名

课程表 class:
c_id int //课程表id
c_name varchar2 //课程名称
选课表 chosen_class
id int //选修课id
s_id int //学生id
c_id int //课程id
grade int //成绩 
请给出一下sql语句
1)没有选修课程编号为“c1”的学生姓名
2)列出每门课程名称和平均成绩,并按照升序排列
3)选了2门课以上的学生姓名

select student.s_name from student ,(select s_id from chosen_class where c_id!="C1") fromclass where student.id=fromclass.s_id




select a.c_name,avg(b.grade)from class a, chosen_class b where a.c_id=b.c_id group by avg(b.grade)




select s.sno,s.name from student s where s.sno in(select sno from a,chosen_class sc group by sc.cno having sum(sc.sno)>2

你可能感兴趣的:(今天看到一个sql的面试题,我想应该记录一下)