ACCESS 嵌套查询子查询最多能返回一个记录 什么意思

查找3学分课程的学生选课情况,并显示“学生编号”“课程编号”“考试成绩”
SELECT 学生编号,课程编号,考试成绩
FROM 选课成绩
WHERE 课程编号=(SELECT 课程编号 FROM 课程 WHERE 学分=3);
问题出在哪啊,子查询最多能返回一个记录是什么意思,哪里返回多个记录了呢

也就是说用了子查询,一般情况下要用in的方式,而最好不要用等于的方式。

如:有两张表如下:

班级表

学生表

现在要查所有是一年一班的学生在学生表中的全部信息。

那么可用的sql语句如下:

select * from  å­¦ç”Ÿè¡¨ where æ‰€å±žç­çº§ID in (select ç­çº§ID from ç­çº§è¡¨ where ç­çº§åç§°='一年一班');

这里如果把in改成=,那么就会报错,报错内容就是“嵌套查询子查询最多能返回一个记录”。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-27
WHERE 课程编号=(SELECT 课程编号 FROM 课程 WHERE 学分=3)

改成

WHERE 课程编号  IN (SELECT 课程编号 FROM 课程 WHERE 学分=3);

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网