50个查询系列-第9个查询:查询所有课程成绩小于60分的同学的学号姓名;

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了50个查询系列-第9个查询:查询所有课程成绩小于60分的同学的学号姓名;相关的知识,希望对你有一定的参考价值。

第一想法:

从分数表里面把小于60的学生id都查出来。

 

SELECT tblstudent.StuId,tblstudent.StuName FROM tblstudent WHERE

(
SELECT  tblscore.Score FROM tblscore WHERE tblstudent.StuId=tblscore.StuId AND tblscore.Score<60

)

然后报错:

Subquery returns more than 1 row
 是的呀。

SELECT  tblscore.Score FROM tblscore WHERE tblstudent.StuId=tblscore.StuId AND tblscore.Score<60这句话查出来的数据有好几条呢。这样的当然是不对的。

还是不知道怎么修改,于是看答案:

select tblstudent.StuId,tblstudent.StuName from tblstudent where 
tblstudent.StuId NOT IN
(
select  tblscore.StuId from tblscore where tblstudent.StuId=tblscore.StuId AND tblscore.Score>60)

 





以上是关于50个查询系列-第9个查询:查询所有课程成绩小于60分的同学的学号姓名;的主要内容,如果未能解决你的问题,请参考以下文章

50个查询系列-第一个查询

50个查询系列-第13个查询:把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩;

50个查询系列-第三个查询:查询所有同学的学号姓名选课数总成绩;

50个查询系列-第12个查询:查询至少学过学号为“1001”同学所有课程的其他同学学号和姓名

查询课程1比课程2成绩高的学生

Mysql多表联查——经典50题