计算机系学生选课情况统计:SQL查询语句解析

本示例使用SQL语句统计计算机系学生的选课情况,并根据选课门数对选课情况进行分类。

假设有以下表格:

表名:学生选课表(student_course)

| 字段名 | 数据类型 | 说明 | |---|---|---| | id | int | 学生id | | course_id | int | 课程id |

表名:课程表(course)

| 字段名 | 数据类型 | 说明 | |---|---|---| | id | int | 课程id | | name | varchar | 课程名称 |

表名:学生表(student)

| 字段名 | 数据类型 | 说明 | |---|---|---| | id | int | 学生id | | name | varchar | 学生姓名 |

可以使用以下SQL语句进行查询:

SELECT sc.id, COUNT(sc.course_id) AS course_num, 
CASE 
    WHEN COUNT(sc.course_id) >= 3 THEN '多' 
    WHEN COUNT(sc.course_id) >= 1 AND COUNT(sc.course_id) <= 2 THEN '一般' 
    ELSE '少' 
END AS course_status
FROM student_course sc
INNER JOIN student s ON sc.id = s.id
GROUP BY sc.id
ORDER BY sc.id;

解释:

  1. 使用INNER JOIN将学生选课表和学生表进行连接,以便获取学生的姓名。
  2. 使用COUNT函数统计每个学生选课的门数。
  3. 使用CASE语句根据选课门数判断选课情况,将其分为'多'、'一般'、'少'。
  4. 使用GROUP BY将结果按学生id分组,以便对每个学生进行统计。
  5. 使用ORDER BY按学生id排序,使结果更加清晰。

示例结果:

| 学号 | 选课门数 | 选课情况 | |---|---|---| | 1 | 3 | 多 | | 2 | 1 | 一般 | | 3 | 0 | 少 |

该查询语句可以有效地统计计算机系学生的选课情况,为教学管理和学生学习提供参考。

计算机系学生选课情况统计:SQL查询语句解析

原文地址: https://www.cveoy.top/t/topic/oyus 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录