查询所有学生的Sname、Cno和Degree列。
sname 在student表中,degree在score表中,两张表都有cno。为什么我用 select sname,cno,degree from score,student where student.sno=score.sno 这个语句查出来有重复的 ,该怎么改...
score 表中的cno有重复的.
sql基础练习
答案:2 悬赏:20
解决时间 2021-03-21 10:07
- 提问者网友:践踏俘获
- 2021-03-21 00:38
最佳答案
- 二级知识专家网友:woshuo
- 2021-03-21 01:35
你得是老语法有漏洞的。还有就是你的两个表关联字段不对吧,这个是上学时候常作的练习,一个是学生表,一个是分数表,关联字段应该是学生的id
select sname,cno,degree
from student t1 inner join score t2 on t1.学号=T2.学号
SCORE表中cno有重复的是正常的这个字段应该是学科编号,不同学生可以选择同一门课程。这个字段应该是和课程表course关联的。你得写法也没什么问题,在遇到一些复杂的sql语句,老的语法会有问题,当然这个属于中高级范畴了。
select sname,cno,degree
from student t1 inner join score t2 on t1.学号=T2.学号
SCORE表中cno有重复的是正常的这个字段应该是学科编号,不同学生可以选择同一门课程。这个字段应该是和课程表course关联的。你得写法也没什么问题,在遇到一些复杂的sql语句,老的语法会有问题,当然这个属于中高级范畴了。
全部回答
- 1楼网友:陪我到地狱流浪
- 2021-03-21 01:53
把( select * from score where degree not in(select max(degree) from score group by cno)) 当作是临时表,"as aa"就是把这个临时表起的别名叫aa
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯