SQL语言综合练习
本文档旨在提供一个综合的SQL语言练习题,旨在测试学生对SQL语言的掌握程度。该练习题包括一个学生课程数据库,包括学生关系表Student、课程关系表Course、选修关系表SC。通过本练习题,学生可以熟悉SQL语言的基本语法和应用。
知识点1: 查询所有年龄在 20 岁(包括 20 岁)以下的学生信息。
* SQL语句:`SELECT * FROM Student WHERE Sage <= 20;`
* 解释:使用WHERE子句来筛选年龄小于或等于20的学生信息。
知识点2: 查询姓“刘”的学生信息。
* SQL语句:`SELECT * FROM Student WHERE Sname LIKE '刘%';`
* 解释:使用LIKE操作符来匹配姓“刘”的学生信息。
知识点3: 查询先行课为 6 的课程名称。
* SQL语句:`SELECT Cname FROM Course WHERE Cpno = 6;`
* 解释:使用WHERE子句来筛选先行课为6的课程名称。
知识点4: 查询课程学分大于 3 的课程号和课程名称。
* SQL语句:`SELECT Cno, Cname FROM Course WHERE Ccredit > 3;`
* 解释:使用WHERE子句来筛选课程学分大于3的课程号和课程名称。
知识点5: 在表SC中,按照学生成绩降序排列。
* SQL语句:`SELECT Sno, Cno, Grade FROM SC ORDER BY Grade DESC;`
* 解释:使用ORDER BY子句来按照学生成绩降序排列。
知识点6: 求最高成绩。
* SQL语句:`SELECT MAX(Grade) FROM SC;`
* 解释:使用聚合函数MAX来计算最高成绩。
知识点7: 求平均成绩。
* SQL语句:`SELECT AVG(Grade) FROM SC;`
* 解释:使用聚合函数AVG来计算平均成绩。
知识点8: 查询成绩在 90 分以上的学生姓名和课程名。
* SQL语句:`SELECT S.Sname, C.Cname FROM SC, Student S, Course C WHERE SC.Sno = S.Sno AND SC.Cno = C.Cno AND SC.Grade >= 90;`
* 解释:使用JOIN操作符来连接三个表,筛选成绩在90分以上的学生姓名和课程名。
知识点9: 向表Student中添加一条记录:学号为“95005”,姓名为“孙辉”,性别为“男”,年龄为“19”,所在系为“机电系”。
* SQL语句:`INSERT INTO Student VALUES ('95005', '孙辉', '男', 19, '机电系');`
* 解释:使用INSERT INTO语句来添加一条记录到表Student中。
知识点10: 删除表Course中课程名为“操作系统”的课程信息。
* SQL语句:`DELETE FROM Course WHERE Cname = '操作系统';`
* 解释:使用DELETE语句来删除表Course中课程名为“操作系统”的课程信息。
知识点11: 将学生刘晨的年龄改为“17”,所在系改为“会计系”。
* SQL语句:`UPDATE Student SET Sage = 17, Sdept = '会计系' WHERE Sname = '刘晨';`
* 解释:使用UPDATE语句来将学生刘晨的年龄和所在系进行修改。