mysql数据库多表查询

有以下几张表:

学生表s:sid(主键)、sname(姓名)、sex(性别)、age(年龄)


mysql数据库多表查询_第1张图片

班级表c:cid(主键)、cname(班级名)


教师表t:tid(主键)、tname(教师名称)


关系表sc:id(主键)、sid(学生主键)、cid(班级主键)、tid(教师主键)、score(成绩)


mysql数据库多表查询_第2张图片

1、查询出所有学生所在的班级名称

select cname from c where cid in(select cid from sc where sid in(select sid in s))

2、查询刘老师名下学生成绩不低于60分的学生姓名、班级、成绩

select s.sname,c.cname,sc.score from sc inner join s s.sid=sc.sid  join t  t.tid=sc.tid join c c.cid=sc.cid where t.tname="刘老师" and sc.score>=60;

3、查询出各班级的班级名称、平均成绩,并按班级cid倒序排序

select c.cname,avg(sc.scrore)  as averageScore from c innter join sc c.cid=sc.cid group by sc.cid order by c.cid desc;

你可能感兴趣的:(mysql数据库多表查询)