全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SQL及关系型数据库数据分析
87 0
2025-12-01
为了便于数据查询,首先构建两个数据库表:student 表与 score 表。 **student 表结构说明:** 该表用于存储学生的基本信息,包含字段如学号、姓名、性别、出生年份、所属院系及住址。建表语句如下: ```sql DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `id` int(10) NOT NULL AUTO_INCREMENT, `name` char(20) NOT NULL, `sex` char(20) DEFAULT NULL, `birth` year(4) DEFAULT NULL, `department` char(10) DEFAULT NULL, `address` char(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; ``` 向 student 表中插入以下六条记录: ```sql insert into `student`(`id`,`name`,`sex`,`birth`,`department`,`address`) values (1,'张老大','男',1985,'计算机系','北京市海淀区'); insert into `student`(`id`,`name`,`sex`,`birth`,`department`,`address`) values (2,'张老二','男',1986,'中文系','北京市昌平区'); insert into `student`(`id`,`name`,`sex`,`birth`,`department`,`address`) values (3,'张三','女',1990,'中文系','湖南省永州市'); insert into `student`(`id`,`name`,`sex`,`birth`,`department`,`address`) values (4,'李四','男',1990,'英语系','辽宁省阜新市'); insert into `student`(`id`,`name`,`sex`,`birth`,`department`,`address`) values (5,'王五','女',1991,'英语系','福建省厦门市'); insert into `student`(`id`,`name`,`sex`,`birth`,`department`,`address`) values (6,'王六','男',1988,'计算机系','湖南省衡阳市'); ``` **score 表结构说明:** 此表用于记录学生的课程成绩,包含主键 id、学生编号(stu_id)、课程名称(c_name)和分数(grade)。其中 stu_id 作为外键关联 student 表的 id 字段,并设置了级联删除与更新。建表语句如下: ```sql DROP TABLE IF EXISTS `score`; CREATE TABLE `score` ( `id` int(10) NOT NULL AUTO_INCREMENT, `stu_id` int(10) NOT NULL, `c_name` char(20) DEFAULT NULL, `grade` int(10) DEFAULT NULL, PRIMARY KEY (`id`), KEY `score_ibfk_1` (`stu_id`), CONSTRAINT `score_ibfk_1` FOREIGN KEY (`stu_id`) REFERENCES `student` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; ``` 向 score 表中插入以下七条成绩数据: ```sql insert into `score`(`id`,`stu_id`,`c_name`,`grade`) values (1,1,'计算机',98); insert into `score`(`id`,`stu_id`,`c_name`,`grade`) values (2,1,'英语',80); insert into `score`(`id`,`stu_id`,`c_name`,`grade`) values (3,2,'计算机',65); insert into `score`(`id`,`stu_id`,`c_name`,`grade`) values (4,2,'中文',88); insert into `score`(`id`,`stu_id`,`c_name`,`grade`) values (5,3,'中文',95); insert into `score`(`id`,`stu_id`,`c_name`,`grade`) values (6,3,'计算机',70); insert into `score`(`id`,`stu_id`,`c_name`,`grade`) values (7,4,'计算机',70); ``` 以上完成了 student 和 score 两张表的创建与初始化数据导入,可用于后续的多表联合查询、成绩统计等操作。

将计算机科目的考试成绩按照从高到低的顺序进行排列展示。

统计各个考试科目学生的平均得分情况,了解每门课程的整体表现水平。

获取每位学生的总分汇总,通过对其各科成绩求和来计算其总成绩。

查询同时参加了计算机和英语两门课程考试的学生相关信息。

查找所有在每门课程中得分均超过80分的学生姓名,类似要求为找出所有科目都达到及格线以上的学生。

列出姓氏为“张”或“王”的学生,显示其姓名、所属院系、所考科目及其对应成绩。

从student表中提取所有学生的记录信息,完整展现当前学生数据。

取出student表中第2条至第4条的学生记录,用于局部数据查看。

从student表检索出所有学生的学号(id)、姓名(name)以及所在院系(department)的基本资料。

筛选出student表中属于计算机系与英语系的学生全部信息。

查询年龄介于18到35岁之间的学生详细信息。

获取每个考试科目的最高分数,识别各科中的最优表现。

查询李四所参加的考试科目(c_name)及其对应的考试成绩(grade)。

整合展示所有学生的基本信息与其相关的考试成绩记录。

分别计算每个学生各科成绩的平均分,评估个体学业整体水平。

找出平均分最高的考试科目名称,确定整体表现最佳的课程。

查询语文成绩高于张三的学生相关信息。

查找计算机科目成绩低于95分的学生完整信息。

统计每一门学科的平均成绩,分析不同课程的学生掌握程度。

获取湖南籍贯的学生名单,并展示其姓名、年龄、院系、考试科目及相应成绩。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群