首页 > 代码库 > 50个查询系列-第9个查询:查询所有课程成绩小于60分的同学的学号、姓名;
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分的同学的学号、姓名;
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。