mysql计算学分绩点资源
MySQL是一款广泛使用的关系型数据库管理系统,可以用于计算学分绩点。以下是关于MySQL计算学分绩点的详细步骤。
CREATE TABLE course ( name VARCHAR(20) NOT NULL PRIMARY KEY, credit float DEFAULT 0.0 ); CREATE TABLE grade ( student_id VARCHAR(8) NOT NULL, course_name VARCHAR(20) NOT NULL, grade float NOT NULL, PRIMARY KEY (student_id, course_name), CONSTRAINT foreign_key_1 FOREIGN KEY (course_name) REFERENCES course(name) ON DELETE CASCADE ); INSERT INTO course (`name`, `credit`) VALUES ('计算机网络', 4.0), ('数据库原理', 3.0), ('软件工程', 3.0); INSERT INTO grade (`student_id`, `course_name`, `grade`) VALUES ('10001', '计算机网络', 87.5), ('10001', '数据库原理', 91.0), ('10001', '软件工程', 95.0), ('10002', '计算机网络', 78.0), ('10002', '数据库原理', 85.5), ('10002', '软件工程', 89.5); SET @sum_course_credit = 0.0; SET @sum_weighted = 0.0; SELECT SUM(credit) INTO @sum_course_credit FROM course; SELECT SUM(grade * credit) INTO @sum_weighted FROM grade INNER JOIN course ON grade.course_name = course.name; SELECT @sum_weighted / @sum_course_credit AS `GPA`;