《MySQL数据操作与查询》- 维护学生信息、老师信息和成绩信息 支持按多种条件组合查询学生信息和成绩信息

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文

(7)查询各班H5卷面成绩,显示班级、平均分,最高分,最低分

SELECT c.name 班级,AVG(exam) 平均成绩,MAX(exam) 最高成绩,MIN(exam) 最低成绩 FROM class c,score s,student st

WHERE c.id=st.class_id AND s.stu_id=st.id AND s.sub_id=3;

(8)查询你自己各科成绩,显示,姓名、卷面成绩,项目成绩,平时成绩,综合成绩

SELECT st.name 姓名,exam 卷面成绩,project 项目成绩,daily 平时成绩,result 综合成绩 FROM student st,score sc,subject su

WHERE sc.stu_id=st.id AND sc.sub_id=su.id

AND st.name=‘杨明金’;

(9)查询各地州的学生人数,显示,地址州,学生人数,按人数排序

SELECT address 地址州,COUNT(name) 学生人数 FROM student

GROUP BY address

ORDER BY COUNT(name)

(10)查询自己所有成绩的平均分,显示姓名 卷面成绩,项目成绩,平时成绩,综合成绩

SELECT st.name 姓名,AVG(exam) 卷面成绩,AVG(project) 项目成绩,AVG(daily) 平时成绩,AVG(result) 综合成绩 FROM student st,score sc,subject su

WHERE sc.stu_id=st.id AND sc.sub_id=su.id

AND st.name=‘杨明金’;

(11)查询各地州的学生平均成绩,显示,地址州,学生人数,平均卷面成绩,平均项目成绩,平均平时成绩,平均综合成绩,按综合成绩排序从高到低排序

SELECT address 地址州,COUNT(st.name) 学生人数,AVG(exam) 卷面成绩,AVG(project) 项目成绩,AVG(daily) 平时成绩,AVG(result) 综合成绩 FROM student st,score sc,subject su

WHERE sc.stu_id=st.id AND sc.sub_id=su.id

GROUP BY address

(12)查询所有学生的成绩信息,显示,学生姓名,班级,讲师,班主任,课程名,卷面成绩,项目成绩,平时成绩,综合成绩,按卷面成绩排序从高到低排序

SELECT st.name 学生姓名,cl.name 班级名称,te.name 老师姓名,su.name 课程名称,exam 卷面成绩,project 项目成绩,daily 平时成绩, result 综合成绩

FROM score sc,subject su,student st,class cl,teacher te

WHERE sc.sub_id=su.id AND sc.stu_id=st.id AND cl.id=st.class_id AND te.id=cl.lecturer_id

ORDER BY exam DESC

(13)查询各讲师各科目的平均分,显示讲师,科目,卷面成绩,项目成绩,平时成绩,综合成绩,选择合适的排序字段和排序方式

SELECT te.name 讲师,su.name 科目,exam 卷面成绩,project 项目成绩,daily 平时成绩,result 综合成绩

FROM score sc,subject su,student st,class cl,teacher te

WHERE sc.sub_id=su.id AND sc.stu_id=st.id AND cl.id=st.class_id AND te.id=cl.lecturer_id

ORDER BY result DESC

(14)查询各讲师各班各科目的平均分,显示讲师,班级,科目,卷面成绩,项目成绩,平时成绩,综合成绩, 选择合适的排序字段和排序方式

SELECT te.name 讲师,cl.name 班级, su.name 科目,AVG(exam) 卷面成绩,AVG(project) 项目成绩,AVG(daily) 平时成绩,AVG(result) 综合成绩

FROM score sc,subject su,student st,class cl,teacher te

WHERE sc.sub_id=su.id AND sc.stu_id=st.id AND cl.id=st.class_id AND te.id=cl.lecturer_id

GROUP BY te.name,cl.name

ORDER BY result DESC

五、数据库导入

=======

/*

Navicat MySQL Data Transfer

Source Server : test

Source Server Version : 50646

Source Host : localhost:3306

Source Database : schools

Target Server Type : MYSQL

Target Server Version : 50646

File Encoding : 65001

Date: 2020-09-11 16:31:56

*/

SET FOREIGN_KEY_CHECKS=0;


– Table structure for class


DROP TABLE IF EXISTS class;

CREATE TABLE class (

id int(11) NOT NULL AUTO_INCREMENT,

name varchar(20) DEFAULT NULL,

lecturer_id int(1) DEFAULT NULL,

class_teacher_id int(20) DEFAULT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;


– Records of class


INSERT INTO class VALUES (‘1’, ‘19计算机网络技术一班’, ‘1’, ‘2’);

INSERT INTO class VALUES (‘2’, ‘19计算机网络技术二班’, ‘1’, ‘2’);

INSERT INTO class VALUES (‘3’, ‘19大数据技术与应用一班’, ‘1’, ‘3’);


– Table structure for score


DROP TABLE IF EXISTS score;

CREATE TABLE score (

id int(11) NOT NULL AUTO_INCREMENT,

stu_id int(20) DEFAULT NULL,

sub_id int(1) DEFAULT NULL,

exam decimal(18,1) DEFAULT NULL,

project decimal(18,1) DEFAULT NULL,

daily decimal(18,1) DEFAULT NULL,

result decimal(18,1) DEFAULT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;


– Records of score


INSERT INTO score VALUES (‘1’, ‘1’, ‘1’, ‘50.0’, ‘70.0’, ‘90.0’, ‘230.0’);

INSERT INTO score VALUES (‘2’, ‘1’, ‘3’, ‘85.0’, ‘60.0’, ‘50.0’, ‘603.0’);

INSERT INTO score VALUES (‘3’, ‘2’, ‘4’, ‘50.0’, ‘90.0’, ‘80.0’, ‘656.0’);

INSERT INTO score VALUES (‘4’, ‘4’, ‘5’, ‘65.0’, ‘86.0’, ‘56.0’, ‘455.0’);

INSERT INTO score VALUES (‘5’, ‘2’, ‘6’, ‘45.0’, ‘48.0’, ‘65.0’, ‘915.0’);

INSERT INTO score VALUES (‘6’, ‘3’, ‘5’, ‘45.0’, ‘46.0’, ‘45.0’, ‘564.0’);


– Table structure for student


DROP TABLE IF EXISTS student;

CREATE TABLE student (

id int(11) NOT NULL AUTO_INCREMENT,

class_id int(11) DEFAULT NULL,

nostudent varchar(30) DEFAULT NULL,

name varchar(20) DEFAULT NULL,

sex char(2) DEFAULT NULL,

phone varchar(20) DEFAULT NULL,

address varchar(200) DEFAULT NULL,

birthday date DEFAULT NULL,

nation varchar(20) DEFAULT NULL,

parent_phone_1 varchar(20) DEFAULT NULL,

parent_phone_2 varchar(20) DEFAULT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;


– Records of student


INSERT INTO student VALUES (‘1’, ‘1’, ‘193610202629’, ‘杨明金’, ‘男’, ‘18214217246’, ‘云南昭通’, ‘2020-09-11’, ‘汉族’, ‘13587757775’, ‘5454874545’);

INSERT INTO student VALUES (‘2’, ‘1’, ‘195656546544’, ‘肖明安’, ‘女’, ‘154345343535’, ‘云南昆明’, ‘2020-10-21’, ‘藏族’, ‘26565656565’, ‘5656565655’);

INSERT INTO student VALUES (‘3’, ‘2’, ‘235656565555’, ‘闪正’, ‘女’, ‘1534565654’, ‘四川眉州’, ‘2020-09-08’, ‘汉族’, ‘15645878787’, ‘1546787645’);

INSERT INTO student VALUES (‘4’, ‘2’, ‘156487867557’, ‘岩奔’, ‘男’, ‘12345454886’, ‘云南文山’, ‘2020-09-16’, ‘白族’, ‘15647867878’, ‘5413434543’);

INSERT INTO student VALUES (‘5’, ‘3’, ‘156986564565’, ‘刘泽龙’, ‘女’, ‘15649878978’, ‘云南曲靖’, ‘2020-09-06’, ‘布依族’, ‘15645484777’, ‘1565456475’);


– Table structure for subject


DROP TABLE IF EXISTS subject;

CREATE TABLE subject (

id int(255) NOT NULL AUTO_INCREMENT,

name varchar(50) DEFAULT NULL,

remark varchar(200) DEFAULT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;


– Records of subject


INSERT INTO subject VALUES (‘1’, ‘计算机应用基础’, ‘介绍’);

INSERT INTO subject VALUES (‘2’, ‘Photoshop UI设计’, ‘介绍’);

INSERT INTO subject VALUES (‘3’, ‘HTML5网页设计’, ‘简介’);

INSERT INTO subject VALUES (‘4’, ‘Java程序设计基础’, ‘这是简介’);

INSERT INTO subject VALUES (‘5’, ‘C#程序设计基础’, ‘这是介绍’);


– Table structure for teacher


DROP TABLE IF EXISTS teacher;

CREATE TABLE teacher (

id int(11) NOT NULL AUTO_INCREMENT,

最后

现在正是金三银四的春招高潮,前阵子小编一直在搭建自己的网站,并整理了全套的**【一线互联网大厂Java核心面试题库+解析】:包括Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等**

image

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
试题库+解析】:包括Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等**

[外链图片转存中…(img-WxX32nNZ-1713578683083)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-hkUwa45e-1713578683083)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值