数据库MYSQL学生成绩表测试

版权声明:. https://blog.csdn.net/WildestDeram/article/details/89515739

根据表格信息,按要求完成下面SQL语句的编写:

1、使用SQL分别创建班级表、学生表以及成绩表的表结构,表内数据可以一条一条的插入也可以批量插入

2、查询每个班级中每一科的平均成绩,显示数据包括班级名称,课程以及平均分数,并按照班ID升序排列

3、查询所有同学的学生ID,姓名,性别以及总分,并按照成绩从高到低排序

4、查询课程成绩小于75分的学生ID,姓名,班级,课程以及分数

5、将李米米的数学成绩修改为88分

6、计算重点班中每一科的平均成绩,显示数据包括:重点班级ID,班级名称,课程,平均分数,按照降序排列

建表

CREATE TABLE class(
    c_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT KEY,
    name VARCHAR(50) NOT NULL,
    descrip VARCHAR(50) NOT NULL
);
INSERT class(name,descrip) VALUES('一年级一班','重点班'),
('一年级二班','重点班'),
('二年级一班','重点班'),
('二年级二班','普通班');

CREATE TABLE student(
    s_id SMALLINT UNSIGNED NOT NULL UNIQUE KEY,
    name VARCHAR(50) NOT NULL UNIQUE,
    gender ENUM('男','女','保密'),
    class TINYINT NOT NULL
);
INSERT student(s_id,name,gender,class) VALUES(1001,'赵晓明','男',1);
INSERT student(s_id,name,gender,class) VALUES(1002,'王晓红','女',1),
(1003,'张晓晓','女',1),
(1004,'孙琪琪','女',3),
(1005,'李米米','女',4),
(1006,'赵晓刚','男',3),
(1007,'张大宝','男',2),
(1008,'张兰','女',4),
(1009,'孙好','男',1);

CREATE TABLE score(
    sc_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT KEY,
    s_id SMALLINT NOT NULL,
    course VARCHAR(10) NOT NULL,
    mark TINYINT UNSIGNED NOT NULL
);
INSERT score(s_id,course,mark) VALUES(1001,'数学',98),
(1001,'语文',90),
(1001,'英语',97),
(1002,'数学',96),
(1002,'语文',88),
(1002,'英语',88),
(1003,'数学',91),
(1003,'语文',96),
(1003,'英语',86),
(1004,'数学',89),
(1004,'语文',82),
(1004,'英语',83),
(1005,'数学',75),
(1005,'语文',86),
(1005,'英语',77),
(1006,'数学',81),
(1006,'语文',77),
(1006,'英语',60),
(1007,'数学',89),
(1007,'语文',56),
(1007,'英语',70),
(1008,'数学',87),
(1008,'语文',55),
(1008,'英语',66),
(1009,'数学',78),
(1009,'语文',60),
(1009,'英语',82);

猜你喜欢

转载自blog.csdn.net/WildestDeram/article/details/89515739
今日推荐