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