欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-17 20:39:25
表目录 mysql> show tables; +-------------------+ | tables_in_student | +-------------------+...

表目录

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

课程表 ——c

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

学生表——s

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

选课表——sc

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


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';