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

查找3学分课程的学生选课情况,并显示“学生编号”“课程编号”“考试成绩”SELECT学生编号,课程编号,考试成绩FROM选课成绩WHERE课程编号=(SELECT课程编号... 查找3学分课程的学生选课情况,并显示“学生编号”“课程编号”“考试成绩”
SELECT 学生编号,课程编号,考试成绩
FROM 选课成绩
WHERE 课程编号=(SELECT 课程编号 FROM 课程 WHERE 学分=3);
问题出在哪啊,子查询最多能返回一个记录是什么意思,哪里返回多个记录了呢
展开
 我来答
badkano
推荐于2016-05-22 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885359
团长

向TA提问 私信TA
展开全部

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

如:有两张表如下:

班级表

学生表

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

那么可用的sql语句如下:

select * from  学生表 where 所属班级ID in (select 班级ID from 班级表 where 班级名称='一年一班');

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

Amgme
2014-02-27 · TA获得超过2728个赞
知道大有可为答主
回答量:1668
采纳率:50%
帮助的人:495万
展开全部
WHERE 课程编号=(SELECT 课程编号 FROM 课程 WHERE 学分=3)

改成

WHERE 课程编号  IN (SELECT 课程编号 FROM 课程 WHERE 学分=3);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式