2.Mysql实战练习

一:记住

1.sql语句select、group by、order by、where一般先后顺序

执行顺序
例如:
在这里插入图片描述

2.实战前注意事项

2.1、where和group by都是基于整个表查询
2.2、having后一般加聚合函数,select后最好加上having后聚合函数中的列名
2.3、where语句中不能包含聚合函数
2.4、子查询中不能包含order by,但可以包含group by
2.5、只有where语句是对符合条件的行进行计算,其他的语句都是对列进行计算

3.练习

此练习基于上一篇文章(Mysql创建库、表、插入数据)创建的4张表来做练习。
4张表数据内容
4张数据表
1、查询学生表的所有记录
在这里插入图片描述
2、查询教师表中所有不重复的系名
在这里插入图片描述
3、查询教师表中每个系有多少个老师
在这里插入图片描述
4、查询成绩在60到80之间的所有记录
在这里插入图片描述
5、查询成绩为85,86,88的记录
方法一:
在这里插入图片描述
方法二:
在这里插入图片描述
6、查询95031班级或性别为女的同学的记录
在这里插入图片描述
7、查询95033班和95031班全体学生的记录(注意:用or:[并且]而不是and[交集])
在这里插入图片描述
8、查询所有不姓王的同学记录
在这里插入图片描述
9、以sclass降序查询所有学生记录
在这里插入图片描述
10、以cno升序,degree降序查询score表的所有记录.
在这里插入图片描述
11、以班号和年龄从大到小查询学生表的全部记录
在这里插入图片描述
12、查询95031这个班的学生人数
在这里插入图片描述
13、查询最大和最小sbirthday日期值
在这里插入图片描述
14、查询存在85分以上成绩的课程编号
在这里插入图片描述
15、查询成绩表中最高分的学号和课程号
注意:聚合函数不能放在条件查询语句(where)中,只能放在select后面
在这里插入图片描述
在这里插入图片描述
16、查询3-105号课程的平均分
在这里插入图片描述
17、查询至少有5名学生选修并且以3开头的课程的平均分数
在这里插入图片描述
18、查询最低分大于70分,最高分小于90分的sno
注意:因为一个sno对应好多成绩,所以要对sno进行分组。
在这里插入图片描述
19、查询所有学生的Sname,Cno和Degree列
注意: 使用inner join
在这里插入图片描述
20、查询所有学生的Sname,Cname和Degree列(分析的顺序过程很重要)
在这里插入图片描述

21、查询’张旭’教师任课的学生成绩
在这里插入图片描述
22、查询出”计算机系”教师所教课程的成绩
在这里插入图片描述

23、查询”95033”班的学生所选课程的平均分(使用内连接的方式)—>大家自己尝试一下
24、现查询所有同学的Sno、Cno和ran列
a.插入一张grade表
在这里插入图片描述
b.grade表中插入数据
在这里插入图片描述
c.看一下插入的数据
在这里插入图片描述
在这里插入图片描述

25、查询成绩高于学号为”109”、课程号为”3-105”的成绩的所有记录
在这里插入图片描述

26、查询选修”3-105”课程的成绩高于”109”号同学成绩的所有同学的sname,cno,degree
在这里插入图片描述

27、查询和学号为107的同学同年出生的所有学生的Sno、Sname和Sbirthday列
在这里插入图片描述

28、查询选修某课程的同学人数多于5人的教师姓名
在这里插入图片描述
29、查询选修编号为”3-105”课程且成绩至少高于选修编号为”3-245”的同学的Cno、Sno和Degree,并按Degree从高到低次序排序
在这里插入图片描述

30、查询所有”女”教师和”女”同学的name,sex,birthday(使用union all)
在这里插入图片描述

31、查询成绩比该课程平均成绩低的同学的成绩
在这里插入图片描述

32、查询所有任课教师的Tname和Depart(按照自己的思路来)
在这里插入图片描述

33、查询至少有2名男生的班号
在这里插入图片描述

34、查询”男”教师及其所上的课程.
在这里插入图片描述
35、查询和’李军’同性别的所有同学的sname
在这里插入图片描述
36、查询和”李军”同性别并同班的同学sname.
在这里插入图片描述
37、查询所有选修”计算机导论”课程的”男”同学的成绩信息
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值