当前位置: 移动技术网 > IT编程>数据库>Mysql > MySQL单表查询练习题及答案分享

MySQL单表查询练习题及答案分享

2018年11月05日  | 移动技术网IT编程  | 我要评论

表目录

mysql> show tables;
+-------------------+
| tables_in_student |
+-------------------+
| c                 |
| s                 |
| sc                |
+-------------------+

课程表 ——c

这里写图片描述

学生表——s

这里写图片描述

选课表——sc

这里写图片描述


sql实现单表查询题

#查询计算机系学生的学号和姓名
select sno,sname from s where depa="计算机系";

#查询选修了课程的学生学号
select distinct sno from sc;

#查询选修“c01” 课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列
select sno,grade from sc where cno='c01' order by grade desc,sno asc;

#查询每门课程的平均分
#按课程分组、并对每个课程的成绩求平均分
select cno,avg(grade) from sc group by cno;

#查询学校开设的课程总数
#查询课程号并不能重复,再求记录数
select  count(distinct cno) from sc;

#查询选修两门及两门以上课程的学生学号。(此题除了代码,执行结果,还请写出代码的执行过程。)
#1、根据学号分组
#2、学号分组完成后找到对应的课程记录数大于等于2的学号
select sno from sc group by sno having count(cno)>=2;

#查询年龄在20-22之间的男生的学号、姓名、系部
select sno,sname,depa from s where age between 20 and 22;

#查询选修“c01”课程的学生人数
select count(cno) from sc where cno='c01';

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网