MySQL 数据库—(二)查询练习之简单查询10题

查询练习:

1、查询student表的所有记录。
Select * from student;
在这里插入图片描述

2.查询student表中的记录的sname、ssex和class列。
select sname,ssex,class from student;
在这里插入图片描述

3.查询教师所有的单位即不重复的depart列。
select depart from teacher;(错误写法,结果如下)
在这里插入图片描述
select distinct depart from teacher;(正确,加入distinct排重)
在这里插入图片描述

4.查询score表中成绩在60到80之间的所有记录
select * from score where degree between 60 and 80;
Select * from score where degree > 60 and degree< 80;(直接使用运算符比较)
在这里插入图片描述

5.查询score表中成绩为85,86或88的记录。
相同字段内,表示‘或者’关系的查询,使用in关键字。
select * from score where degree in(85,86,88);
在这里插入图片描述

6.查询student表中的“95031”班或性别为“女”的同学记录。
两个或多字段内,表示‘或者’关系的查询,使用or关键字。
select* from student where class='95031’or ssex=‘女’;
在这里插入图片描述

7.以class降序查询student表的所有记录
升序asc,降序desc
select * from student order by class desc;
在这里插入图片描述

8.以cno升序、degree降序查询score表的所有记录。
select * from score order by cno asc,degree desc;
(首先是考虑cno升序,再考虑对degree降序,如下图所示)
在这里插入图片描述

9.查询“95031”班的学生人数。
统计 count
select count(*) from student where class=‘95031’;
在这里插入图片描述

10.查询score表中的最高分的学生学号和课程号。(子查询或者排序)
子查询方式:
select sno,cno from score where degree=(select max(degree) from score);在这里插入图片描述
排序查询方式:
select sno,cno from score order by degree desc;
程序执行步骤:
1.找到最高分
select max(degree) from score;
2.找到最高分的sno和cno
select sno,cno from score where degree=(select max(degree) from score);
在这里插入图片描述
如何只显示排序后的第一条记录呢?如下图所示
select sno,cno,degree from score order by degree desc limit 0,1;
limi关键字作用:第一个数字表示从多少开始,第二个数字表示查多少条
注:存在一定的bug,比如只取第一条记录,但可能有两位最高分的同学
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值