【重温数据库知识】用SQL语句实现:学生表、课程表、选课表三张表中的问题

学生表:student(学号:sno、姓名:sname、性别:sgender、年龄:sage)
课程表:couse  (课程编号:cno、课程名称:cname)
选课表:sc(学号:sno、课程编号:cno、成绩:marks)
问题一:查询选了”计算机原理“的学生学号和姓名?
问题二:查询”周星驰“同学选修的课程名字?
问题三:选秀了5门课程的学生学号和姓名?

第一个
select  s.sno, s.sname
from student s, sc t
where s.sno = t.sno
and t.cno = (
     select c.cno
     from couse c
     where c.cname = '计算机原理'
);
第二个:
select c.cname
from student s, couse c, sc t
where c.cno = t.cno and t.sno = s.sno and s.sname = '周星驰';
第三个:
select s.sno, s.sname
from student s
where s.sno in (
     select t.sno
     from sc t
     group by t.sno
     having count(t.cno) = 5
);
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值