mysql数据库多表查询

有以下几张表:

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


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


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


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


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;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 希望对大家面试有帮助,很经典的几道题,大家有兴趣的话,欢迎大家加群讨论,QQ群号:295383988 问题及描述:...
    hc爱编程阅读 1,945评论 0 12
  • Student(Sid,Sname,Sage,Ssex) 学生表Course(Cid,Cname,Tid) 课程表...
    小炉炉阅读 1,532评论 0 0
  • 一、多表查询 --编写多表查询语句的一般过程 --(1)、分析句子要涉及到哪些表 --(2)、对应的表中要查询哪些...
    __71db阅读 1,904评论 0 6
  • 从,10月1号开始收秋,一只么到现在,忠于可以休息了。人,就是这样么,农民更是这样,春种,秋收。感谢主!你赐给我,...
    飞翔laoguo阅读 223评论 0 0
  • 小梦是现在的前台,我非常喜欢她,越相处越喜欢的那种。快下班的时候,她来问我中午去哪儿吃,我知道,她这是想和我一起吃...
    冰点晚安阅读 253评论 0 1

友情链接更多精彩内容