大家给看看,为什么我只是想查询选修了"C语言程序设计"课程的学生姓名,为什么所有同学的名字会重复出现啊

2025-03-21 19:55:21
推荐回答(2个)
回答1:

你的SQL语句from后面跟了3个表,而where 后面只关联了‘课程情况表’和‘学生成绩表’,第3个表“学生情况表”根本没关联,貌似“学生情况表”没用上?你把3个表分别有哪些字段说下看看?
再看你的要求:只是想查询选修了"C语言程序设计"课程的学生姓名,一般来说“学生情况表”存储的是学号,名字等学生的信息,‘课程情况表’是课程号,老师,课程名等信息,‘学生成绩表’是学号,课程号,成绩等信息。如果是这样的话,你可以这样写:、
select distinct c.学生姓名
from 课程情况表 a,学生成绩表 b,学生情况表 c
where a.课程号=b.课程号 and b.学号=c.学号 and a.课程名称='C语言程序设计'

回答2:

用distinct短语