肖sir__mysql之单表练习题2__(2)

mysql之单表练习题
一.建表语句
create table grade(class int(4),chinese int(8),english int(4),math int(8),name varchar(20),age int(8),sid int(4)primary key auto_increment) DEFAULT charset=utf8;
insert into grade(class,chinese,english,math,name,age)values(1833,86,90,40,‘张三’,21),(1832,55,86,66,‘李四’,22),(1833,93,57,98,‘赵六’,23),(1832,84,90,88,‘王五’,24),(1833,93,57,22,‘李九’,25),(1832,84,98,77,‘牛七’,26),(1832,56,57,77,‘刘丽’,27),(1833,48,58,88,‘王博’,28),(1832,78,57,88,‘王三’,29),(1833,87,60,65,‘王安’,30),(1832,80,76,88,‘王平’,31),(1833,null,79,88,‘王辉’,32);
select * from grade ;
表结构:
在这里插入图片描述

表:
在这里插入图片描述
二.题目
1、查询1832班的所有信息
条件:
语句: class =1832
方法1:select * from grade where class=1832; #显示所有信息

截图:
在这里插入图片描述
2,查询1833班,语文成绩大于80小于90的所有信息
结果: * ,或chinese,english,math
条件:chinese>80,chinese<90
语句:
select * from grade where class=1833 and chinese<90 and chinese>80;
截图:
在这里插入图片描述
3,查询学生表中5到10行的所有数据
结果: *
条件:limit 4,6
语句:select * from grade limit 4,6;
在这里插入图片描述
4,显示1832班英语成绩为98,数学成绩为77的姓名与学号,
结果: name,sid
条件:class=1832,english=98,math=77
语句:Select name,sid from grade where class=1832 and english=98 and math=77;
截图:
在这里插入图片描述

5,查询出1832班所有信息并且按语文成绩排序(降序)
结果:*
条件:class=1832, order by chinese desc
语句:Select *from grade where class=1832 order by chinese desc;
截图:
在这里插入图片描述

6,查询1833班与1832班,语文成绩与数学成绩都小于80的姓名。
结果:name
条件:class =1833 ,class=1832 hinese<80 and math <80
语句:
方法1:select name from grade where class in (1832,1833) and chinese<80 and math<80;
方法2:select name from grade where (class=1833 and chinese<80 and math<80) or (class=1832 and chinese<80 and math<80);
方法3:select name from grade where ( class=1832 or class=1833) and chinese<80 and math<80;
截图:
在这里插入图片描述

7,查询出没有参加语文考试的学生姓名和班级名称。
结果:name,class
条件:chinese is null
语句:Select name,class from grade where chinese is null;
截图:
在这里插入图片描述

8,求出班上语文成绩不及格的学生姓名
结果:name
条件:chinese <60
语句:Select name from grade where chinese <60 or chinese is null;
截图:
在这里插入图片描述
9,求出每个班的数学平均成绩
结果: avg(math),class
条件:group by class
语句:select class,avg(math) from grade group by class;
截图:
在这里插入图片描述

10、求出每个班级语文成绩总分
结果: sum(chinese),class
条件:group by class
语句:select class,sum(chinese) from grade group by class;
截图:
在这里插入图片描述
11、将语文成绩不及格的学生成绩改为60分
条件:chinses<60 替换 chinses<60
语句:update grade set chinese=60 where chinese<60;

12、三科分数都大于70分的人名和年纪
结果:name,age
条件:chinese>70 and english>70 and math>70;
语句:
在这里插入图片描述

13、求出英语分数高于70且其它任何一科目大于60分的人和班级
结果:name,calss
条件:english>70 and (chinese>60 or math>60)
语句:
select name,class from grade where english>70 and (chinese>60 or math>60);

14、统计每个班的人数
结果:calss,count(name)
条件: group by class ,
语句:
select class,count(*) from grade group by class;
截图:
在这里插入图片描述

15、求每个班数学成绩大于80的人数
结果:class,count()
条件:group by class ,math>80
语句:select class,count(
) from grade where math>80 group by class;
截图:
在这里插入图片描述

16、查询姓名王开头的人的班级姓名年纪
结果:class,name,age
条件:like ‘王%’
语句:select name,age from grade where name like ‘王%’;
截图:
在这里插入图片描述

17、查询三科成绩都及格的班级并显示成绩姓名和年纪
结果: lass,name,age,chinese,english,math
条件: chinese>60 and english>60 and math>60
语句:Select name,age,chinese,english,math from grade where chinese>60 and english>60 and math>60;

截图:
在这里插入图片描述
18、查询1833班语文成绩及格人数并显示及格成绩姓名,年纪和ID号
结果:hinese,name,age,sid
条件:class=1833 and chinese>=60;
语句:select chinese,name,age,sid from grade where class=1833 and chinese>=60;
截图:
在这里插入图片描述

19、查询数学分数为88分的班级分数姓名和年纪
结果:class,chinese,english,math,name,age
条件:class,chinese,english,math,name,age
语句:select class,chinese,english,math,name,age from grade where math=88;
截图:
在这里插入图片描述

20、查询英语成绩和数学成绩都不及格的班级成绩姓名年纪
结果:class,chinese,english,math,name,age
条件:math<60 and english<60;
语句:select class,chinese,english,math,name,age from grade where math<60 and english<60;
截图:
在这里插入图片描述

21、查询语文成绩和英语成绩都低于60分的班级,并显示成绩姓名和ID号
结果:chinese,english,math,name,sid
条件:chinese<60 and english<60;
语句:
select chinese,english,math,name,sid from grade where chinese<60 and english<60;
截图:
在这里插入图片描述

22、统计1833班语文成绩总和
结果: sum(chinese)
条件:class=1833
语句:select sum(chinese) from grade where class=1833;
截图:
在这里插入图片描述

23、统计1833班语文成绩大于所有语文平均成绩的人的姓名,成绩和ID号
结果:name,chinese,english,math,sid
条件:calss=1833 , avg(chinese)
语句:Select class,chinese,english,math,sid from grade where class=1833 and chinese>(select avg(chinese) from grade);
截图:
在这里插入图片描述

24、查询姓名结尾为三的人,并显示班级成绩姓名
结果: class,chinese,english,math,name
条件:‘%三’;
语句:Select class,chinese,english,math,name from grade where name like ‘%三’;
截图:
在这里插入图片描述

25、查询英语成绩分数不为57的班级姓名年纪
结果:class,name,ag
条件: english!=57 或<>57 或 not in (57)
语句:select class,name,age from grade where english!=57;
截图:
在这里插入图片描述
26、给表增加3个字段(数据类型及长度自定义,建议要合理),

语句:alter table grade add (age1 int(20),age2 int(20),age3 int(20));
截图:

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多测师软件测试培训师肖sir

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值