帮忙看看这个sql的问题出在哪里
打开“考生文件夹\学生成绩管理.mdb”文件,请完成以下任务:1.在学生表中设置“学号”为主键,在课程表中设置“课程号”为主键,在成绩表中设置“学号”和“课程号”为主键。...
打开“考生文件夹\学生成绩管理.mdb”文件,请完成以下任务:
1.在学生表中设置“学号”为主键,在课程表中设置“课程号”为主键,在成绩表中设置“学号”和“课程号”为主键。
2.建立三表的关系,并实施参照完整性。
3.完成查询:找出所有选修"数学分析"学生的学号、姓名、和该门课程的成绩。
这是题目...
然后一共有三张表
然后我写的最后一个查询的sql
SELECT 学生.姓名, 学生.学号, 成绩.成绩
FROM 课程, 成绩, 学生
WHERE (((学生.学号)=[成绩].[学号]) AND ((课程.课程号)=2001));
然后显示不出来
求破!!! 展开
1.在学生表中设置“学号”为主键,在课程表中设置“课程号”为主键,在成绩表中设置“学号”和“课程号”为主键。
2.建立三表的关系,并实施参照完整性。
3.完成查询:找出所有选修"数学分析"学生的学号、姓名、和该门课程的成绩。
这是题目...
然后一共有三张表
然后我写的最后一个查询的sql
SELECT 学生.姓名, 学生.学号, 成绩.成绩
FROM 课程, 成绩, 学生
WHERE (((学生.学号)=[成绩].[学号]) AND ((课程.课程号)=2001));
然后显示不出来
求破!!! 展开
3个回答
展开全部
1. 数据格式不对,课程号是文本不是数字
SELECT 学生.姓名, 学生.学号, 成绩.成绩
FROM 课程, 成绩, 学生
WHERE (((学生.学号)=[成绩].[学号]) AND ((课程.课程号)="2001"));
2.一般用建立关系的方法求结果,内连接查询速度快一些:
SELECT 学生.学号, 学生.姓名, 课程.课程名称, 成绩.成绩
FROM (成绩 INNER JOIN 课程 ON 成绩.课程号 = 课程.课程号) INNER JOIN 学生 ON 成绩.学号 = 学生.学号
WHERE 课程.课程名称="数学分析";
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询