数据库SQL查询,2张表student和lession,双向多对多关系,查出学生张三的所有课程名

自己设计一张中间 表用一条select语句完成上面要求,求大神解答!

选修(学生编号,课程编号)

select lession.课程名称 from
((student inner join 选修 on student.学生编号=选修.学生编号)
inner join lession on 选修.课程编号=lession.课程编号)
where student.学生姓名='张三'
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-07
select 课程名称 from lesson l,student s where l.学号=s.学号 and s.学生姓名='张三';
第2个回答  2013-03-07
建立一个成绩表Score
scid sid(关联student里的学生号) lid(关联lession里的课程号)

select c.lname from student a,Score b,lession c where a.sid= b.sid and b.lid=c.lid
and a.sname='张三'

lname 代表lession里的课程名字段
sid 代表student里的学生号
lid代表课程号
sname代表学生姓名

你都给替换成你表里的字段名就好了
第3个回答  2013-03-07
假设学生表有学号 和学生姓名两列,课程表有 课程ID 课程名称 报名学生学号 三列
select 课程名称 from 课程表 where 报名学生学号 in (select 学号 from 学生表 where 学生姓名='张三')
相似回答