适用于navicat的学生成绩查询系统的mysql代码,课程为 英语,中国近代史刚要,
时间: 2024-02-17 15:00:09 浏览: 231
mysql学生成绩查询(系统)
以下是一个简单的学生成绩查询系统的MySQL代码,适用于Navicat:
```
CREATE TABLE student (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE course (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE score (
id INT(11) NOT NULL AUTO_INCREMENT,
student_id INT(11) NOT NULL,
course_id INT(11) NOT NULL,
score INT(11) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (student_id) REFERENCES student(id),
FOREIGN KEY (course_id) REFERENCES course(id)
);
INSERT INTO student (name) VALUES ('张三');
INSERT INTO student (name) VALUES ('李四');
INSERT INTO student (name) VALUES ('王五');
INSERT INTO course (name) VALUES ('英语');
INSERT INTO course (name) VALUES ('中国近代史');
INSERT INTO course (name) VALUES ('刚要');
INSERT INTO score (student_id, course_id, score) VALUES (1, 1, 85);
INSERT INTO score (student_id, course_id, score) VALUES (1, 2, 90);
INSERT INTO score (student_id, course_id, score) VALUES (1, 3, 75);
INSERT INTO score (student_id, course_id, score) VALUES (2, 1, 80);
INSERT INTO score (student_id, course_id, score) VALUES (2, 2, 70);
INSERT INTO score (student_id, course_id, score) VALUES (2, 3, 90);
INSERT INTO score (student_id, course_id, score) VALUES (3, 1, 95);
INSERT INTO score (student_id, course_id, score) VALUES (3, 2, 80);
INSERT INTO score (student_id, course_id, score) VALUES (3, 3, 85);
```
这个查询系统包括三个表:学生表(student)、课程表(course)和成绩表(score)。学生表和课程表只包含学生和课程的名称,成绩表记录每个学生在每门课程上的成绩。以上代码插入了三个学生、三门课程和每个学生在每门课程上的得分。要查询某个学生在某门课程上的成绩,可以使用以下代码:
```
SELECT score.score
FROM score
JOIN student ON student.id = score.student_id
JOIN course ON course.id = score.course_id
WHERE student.name = '张三' AND course.name = '英语';
```
这个查询会返回张三在英语课上的成绩。如果需要查询所有学生在某门课程上的成绩,可以使用以下代码:
```
SELECT student.name, score.score
FROM score
JOIN student ON student.id = score.student_id
JOIN course ON course.id = score.course_id
WHERE course.name = '中国近代史';
```
这个查询会返回所有学生在中国近代史课上的成绩。
阅读全文