SQL查询,学生表,课程表,成绩表的一个查询要求如下怎么写呢?
selectsidsnamefromstudentwheresidin(selectsidfromscwherecid=(selectcidfromcoursewhere...
select sid sname from student where sid
in
(select sid from sc where cid
=
(select cid from course where cname='影视设计'));
//查询所有选择了影视设计课程的学生的信息
student表 sid sname
course表 cid cname
sc表 sid cid score
现在我想查询:所有选择了影视设计课程的学生的信息 以及 他们这门课的成绩
因为原先是 sid sname两个结果集字段,现在想再看到score这个字段。
变成 sid sname score三个字段 //表示选了影视设计课程的学生的信息以及该门课成绩
如何写SQL?
可否直接在我上面写好的SQL语句继续补充完善一下呢? 展开
in
(select sid from sc where cid
=
(select cid from course where cname='影视设计'));
//查询所有选择了影视设计课程的学生的信息
student表 sid sname
course表 cid cname
sc表 sid cid score
现在我想查询:所有选择了影视设计课程的学生的信息 以及 他们这门课的成绩
因为原先是 sid sname两个结果集字段,现在想再看到score这个字段。
变成 sid sname score三个字段 //表示选了影视设计课程的学生的信息以及该门课成绩
如何写SQL?
可否直接在我上面写好的SQL语句继续补充完善一下呢? 展开
1个回答
展开全部
select s.sid,s.sname,sc.score from student,course,sc where student.sid=sc.sid and course.cid=sc.cid and course.cname='影视设计';
注意一下,你自己写的sid和sname中间没有逗号,到时候一定执行报错
更多追问追答
追问
那可以在我的那个嵌套查询上修改嘛…虽然你的这个我学会了。
追答
嵌套的话,也得先嵌套后关联
select a.*,b.score from student a,(select sid,score from sc where cid=(select cid from course where cname='影视设计') b where a.sid=b.sid
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询