mysql中查询没有选修某两门课的_某学校教师、学生、课程及成绩MySQL分析

现有四张表格,分别是教师表、学生表、课程表和成绩表:

教师表:(t_id, t_name)-教室编号,教师姓名

表一 教师表

学生表:(s_id,s_name,s_birth,s_sex)-学生编号,学生姓名,出生日期,学生性别

表二 学生表

课程表:(c_id,c_name,ct_id)-课程编号,课程名称,教师编号

表三 课程表

成绩表:(s_id,c_id,s_score)-学生编号,课程编号,分数

表四 成绩表

根据以上信息按照要求写出对应的SQL语句。

一、建表

[建表并导入数据]

1.1、建立教师表语句,并进行相应的赋值

建立教师表语句

1.2、建立学生表语句,并进行相应的赋值

建立学生表语句

1.3、建立课程表语句,并进行相应的赋值

建立课程表语句

1.4、建立成绩表语句,并进行相应的赋值

建立成绩表语句

对应建表后的结果:

2.1、教师表运行结果

2.2、学生表运行结果

2.3、课程表运行结果

2.4、成绩表运行结果

二、根据以上建立的表格进行相关的数据分析

1、查询”0001″课程比”0002″课程成绩高的学生的信息及课程分数

解决思路:先查询出c_id分别为0001和0002的所有s_id和s_score作为内嵌视图A和B,通过筛选条件同时满足A分数大于B分数且A和B的s_id相同,MySQL语句如下:

运行结果:

2、查询平均成绩大于60分的同学的学生编号和学生姓名和平均成绩

解决思路:通过Score表格的s_id分组后即可求出所有学生的平均成绩,然后通过having子句过滤出平均分数大于60的s_id,MySQL语句如下:

运行结果:

3、查询所有学生的学号、姓名、选课数、总成绩

解决思路: 通过join on函数通s_id将学生表和成绩表联结,并用count和sum函数将学生的选课数和总成绩统计后通过group by函数整理出来,MySQL语句如下:

运行结果:

4、查询姓“张”的老师的个数

解决思路: 通过教师表进行模糊查询,MySQL语句如下:

运行结果:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值