用SQL语句完成以下各题,均使用图41所示的student、course和grade 三个表。 列出考分最高的学生姓名、性别、年龄、课程名和成绩。

admin2016-12-23  31

问题 用SQL语句完成以下各题,均使用图41所示的student、course和grade 三个表。

列出考分最高的学生姓名、性别、年龄、课程名和成绩。

选项

答案SELECT student.姓名,student.性别,student.年龄,course.课程名,grade.成绩FROM student,course,grade WHERE student.学号=grade.学号AND course.课程号=grade.课程号AND成绩IN(SELECT MAX(grade.成绩)FROM grade)

解析 题中第3、5题属于多表查询,难道较大。多表查询涉及多个表,一般是通过不同表中的公共字段实现联接,使它们能像一个表那样进行查询,从这个意义上说多表查询又称为联接查询。联接是有条件的,对于student表和grade表之间的“一对多”联系,是通过两个表中的公共字段“学号”的值相等的条件实现联接的。为了区分不同表中的同名字段,引用同名字段时需用表名作为前缀来限定。
转载请注明原文地址:https://kaotiyun.com/show/5aAx777K
0

最新回复(0)