今天看到一个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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值