sql 三表联合查询
三个表分别为学生表student班级表subject成绩表score学生表(student)字段学号,姓名,年龄(SID,SName,nl)班级表(subject)字段学...
三个表 分别为 学生表 student 班级表 subject 成绩表 score
学生表(student) 字段 学号,姓名,年龄(SID,SName,nl)
班级表(subject) 字段 学号,姓名,班级(FID,FName,bj)
成绩表(score) 字段 姓名,课程,成绩(DName,kc,Dscore)
学生表(student)
学号,姓名,年龄(SID,SName,nl)
01 郑一 7
02 郑二 8
02 郑三 9
班级表(subject)
学号,姓名,班级(FID,FName,bj)
01 郑一 一年级
02 郑二 二年级
03 郑二 三年级
成绩表(score)
姓名,课程,成绩(DName,Dscore)
郑一 语文 100
郑一 数学 80
郑一 英语 70
郑二 语文 70
郑二 数学 80
郑二 英语 60
查询后表结构如下:
学号,姓名,年龄,班级,课程,成绩
01 郑一 7 一年级 语文 100
02 郑二 8 二年级 语文 70
02 郑三 9 三年级
望高手给个答案
我只要安学生表记录一条记录不分对应的记录有几条只返回一条,对应的没有记录反本身记录
结果如下:
学号,姓名,年龄,班级,课程,成绩
01 郑一 7 一年级 语文 100
02 郑二 8 二年级 语文 70
03 郑三 9 三年级
面不是这个的结果:
学号,姓名,年龄,班级,课程,成绩
01 郑一 7 一年级 语文 100
01 郑一 7 一年级 数学 80
01 郑一 7 一年级 英语 70
02 郑二 8 二年级 语文 70
02 郑二 8 二年级 数学 80
02 郑二 8 二年级 英语 60
select 学号,姓名,班级,课程,成绩
from 学生表
left join 班级表 on 班级表.学号=学生表.学号
left join 成绩表 on 成绩表.学号=学生表.学号
只要一条的话再加个条件啊
像你的补充就是科目都是语文,那么where 课程='语文'只能查到
学号,姓名,年龄,班级,课程,成绩
01 郑一 7 一年级 语文 100
02 郑二 8 二年级 语文 70
还有一条03 郑三 9 三年级查不到 展开
学生表(student) 字段 学号,姓名,年龄(SID,SName,nl)
班级表(subject) 字段 学号,姓名,班级(FID,FName,bj)
成绩表(score) 字段 姓名,课程,成绩(DName,kc,Dscore)
学生表(student)
学号,姓名,年龄(SID,SName,nl)
01 郑一 7
02 郑二 8
02 郑三 9
班级表(subject)
学号,姓名,班级(FID,FName,bj)
01 郑一 一年级
02 郑二 二年级
03 郑二 三年级
成绩表(score)
姓名,课程,成绩(DName,Dscore)
郑一 语文 100
郑一 数学 80
郑一 英语 70
郑二 语文 70
郑二 数学 80
郑二 英语 60
查询后表结构如下:
学号,姓名,年龄,班级,课程,成绩
01 郑一 7 一年级 语文 100
02 郑二 8 二年级 语文 70
02 郑三 9 三年级
望高手给个答案
我只要安学生表记录一条记录不分对应的记录有几条只返回一条,对应的没有记录反本身记录
结果如下:
学号,姓名,年龄,班级,课程,成绩
01 郑一 7 一年级 语文 100
02 郑二 8 二年级 语文 70
03 郑三 9 三年级
面不是这个的结果:
学号,姓名,年龄,班级,课程,成绩
01 郑一 7 一年级 语文 100
01 郑一 7 一年级 数学 80
01 郑一 7 一年级 英语 70
02 郑二 8 二年级 语文 70
02 郑二 8 二年级 数学 80
02 郑二 8 二年级 英语 60
select 学号,姓名,班级,课程,成绩
from 学生表
left join 班级表 on 班级表.学号=学生表.学号
left join 成绩表 on 成绩表.学号=学生表.学号
只要一条的话再加个条件啊
像你的补充就是科目都是语文,那么where 课程='语文'只能查到
学号,姓名,年龄,班级,课程,成绩
01 郑一 7 一年级 语文 100
02 郑二 8 二年级 语文 70
还有一条03 郑三 9 三年级查不到 展开
4个回答
展开全部
select 学号,姓名,班级,课程,成绩
from 学生表
left join 班级表 on 班级表.学号=学生表.学号
left join 成绩表 on 成绩表.学号=学生表.学号
只要一条的话再加个条件啊
像你的补充就是科目都是语文,那么where 课程='语文'就好了
要查郑三的话,把where 课程='语文'去掉,这样
select 学号,姓名,班级,课程,成绩
from 学生表
left join 班级表 on 班级表.学号=学生表.学号
left join 成绩表 on 成绩表.学号=学生表.学号 and 成绩表.课程='语文'
from 学生表
left join 班级表 on 班级表.学号=学生表.学号
left join 成绩表 on 成绩表.学号=学生表.学号
只要一条的话再加个条件啊
像你的补充就是科目都是语文,那么where 课程='语文'就好了
要查郑三的话,把where 课程='语文'去掉,这样
select 学号,姓名,班级,课程,成绩
from 学生表
left join 班级表 on 班级表.学号=学生表.学号
left join 成绩表 on 成绩表.学号=学生表.学号 and 成绩表.课程='语文'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select SID,SName,nl,bj,kc,Dscore from student left join subject
on student.SName=subject.FName left join score
on student.SName=score.DName
on student.SName=subject.FName left join score
on student.SName=score.DName
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select SID,SName,nl,bj,kc,Dscore from student left join subject
on student.Sid=subject.Fid left join score
on student.SName=score.DName
on student.Sid=subject.Fid left join score
on student.SName=score.DName
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询