数据库机试题及答案
- 创建学生表: CREATE TABLE student ( sno INT PRIMARY KEY, sname VARCHAR(50), sex VARCHAR(10), birthday DATE, depart VARCHAR(50) );
插入学生数据: INSERT INTO student (sno, sname, sex, birthday, depart) VALUES (1001, '李明', '男', '2002-03-15', '计算机系'), (1002, '张然', '女', '2003-11-05', '经管系'), (1003, '许晴', '女', '2002-08-11', '电子系');
创建课程表: CREATE TABLE course ( cno VARCHAR(10) PRIMARY KEY, cname VARCHAR(50), credit INT );
插入课程数据: INSERT INTO course (cno, cname, credit) VALUES ('001', 'MySQL数据库', 4), ('002', '线性代数', 3), ('003', '专业英语', 2);
创建成绩表: CREATE TABLE score ( sno INT, cno VARCHAR(10), grade INT, PRIMARY KEY (sno, cno), FOREIGN KEY (sno) REFERENCES student(sno), FOREIGN KEY (cno) REFERENCES course(cno) );
插入成绩数据: INSERT INTO score (sno, cno, grade) VALUES (1001, '001', 90), (1002, '001', 85), (1002, '002', 76), (1003, '003', 70);
- (1) 查询 MySQL数据库成绩为良好(80~89分)的学生。 SELECT s.sno, s.sname FROM student s INNER JOIN score sc ON s.sno = sc.sno WHERE sc.grade BETWEEN 80 AND 89;
(2) 把 course 表中课程号为 002 的课程的学分修改为 4。 UPDATE course SET credit = 4 WHERE cno = '002';
(3) 在 student 表中查询 2002 年出生的学生的所有信息,并按学号降序排列。 SELECT * FROM student WHERE YEAR(birthday) = 2002 ORDER BY sno DESC;
(4) 查询年龄最大的 2 名学生的学号、姓名和出生日期。 SELECT sno, sname, birthday FROM student ORDER BY birthday DESC LIMIT 2;
(5) 查询选修了“专业英语”课程的学生的学号、姓名及成绩。 SELECT s.sno, s.sname, sc.grade FROM student s INNER JOIN score sc ON s.sno = sc.sno INNER JOIN course c ON sc.cno = c.cno WHERE c.cname = '专业英语';
(6) 统计每个学生的平均分。 SELECT s.sno, s.sname, AVG(sc.grade) AS average_grade FROM student s INNER JOIN score sc ON s.sno = sc.sno GROUP BY s.sno, s.sname;
- 在score表后增加一列成绩等级grade,将90及以上列为'优秀',80~89列为'良好',70~79列为'中等',60~69为'及格',否则为'不及格'。 ALTER TABLE score ADD COLUMN grade_level VARCHAR(10); UPDATE score SET grade_level = '优秀' WHERE grade >= 90; UPDATE score SET grade_level = '良好' WHERE grade BETWEEN 80 AND 89; UPDATE score SET grade_level = '中等' WHERE grade BETWEEN 70 AND 79; UPDATE score SET grade_level = '及格' WHERE grade BETWEEN 60 AND 69; UPDATE score SET grade_level = '不及格' WHERE grade < 60;
原文地址: https://www.cveoy.top/t/topic/o2YR 著作权归作者所有。请勿转载和采集!