学生表 studentsnosnamesexbirthdaydepart学号 姓名 性别 出生日期 系别1001 李明 男 2002-3-15 计算机系1002 张然 女 2003-11-5 经管系1003 许晴 女 2002-8-11 电子系课程表 coursecnocnamecredit课程号 课程名 学分001 MySQL 数据库 4002 线性代数 3003 专业英语 2成绩表 scor
(1) 查询 MySQL数据库成绩为良好(80~89分)的学生。
SELECT s.sno, s.sname FROM student s INNER JOIN score sc ON s.sno = sc.sno WHERE sc.grade >= 80 AND sc.grade <= 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 c.cno = sc.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;
3.在score表后增加一列成绩等级grade,将90及以上列为“优秀”,80~89列为良好,70~79列为中等,60~69为及格,否则为不及格(10分)
ALTER TABLE score ADD grade VARCHAR(10);
UPDATE score SET grade = CASE WHEN grade >= 90 THEN '优秀' WHEN grade >= 80 AND grade <= 89 THEN '良好' WHEN grade >= 70 AND grade <= 79 THEN '中等' WHEN grade >= 60 AND grade <= 69 THEN '及格' ELSE '不及格' END
原文地址: http://www.cveoy.top/t/topic/hAck 著作权归作者所有。请勿转载和采集!