在教育管理系统中,对学生成绩和课程的分析是至关重要的。本文通过一系列SQL查询示例,展示如何使用SQL查询来分析学生成绩、课程信息以及它们之间的关系。
一、数据库表的创建
数据库结构:
我们有四个主要表:
- Student - 存储学生信息,包括学生编号、姓名、出生日期和性别。
- Course - 存储课程信息,包括课程编号、课程名称和教师编号。
- Teacher - 存储教师信息,包括教师编号和姓名。
- Score - 存储学生成绩,包括学生编号、课程编号和分数。
创建数据表
在进行任何查询之前,首先需要创建适当的数据库表。以下是四个基本表的创建语句:
-
学生表(Student)
CREATE TABLE Student( s_id VARCHAR(20), s_name VARCHAR(20) NOT NULL DEFAULT '', s_birth VARCHAR(20) NOT NULL DEFAULT '', s_sex VARCHAR(10) NOT NULL DEFAULT '', PRIMARY KEY(s_id) ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '学生表';
-
课程表(Course)
CREATE TABLE Course( c_id VARCHAR(20), c_name VARCHAR(20) NOT NULL DEFAULT '', t_id VARCHAR(20) NOT NULL, PRIMARY KEY(c_id) ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '课程表';
-
教师表(Teacher)