在线名词解释大全 - 数据库概论 - 详细

以下SQL复杂查询操作题目,基于三个表即学生表S、课程表C和学生选课表SC,它们的结构如下: S(S#,SNAME,GENDER,AGE,DEPT) C(C#,CNAME,TEACHER) SC(S#,GRADER)其中:S#为学号,SNAME为姓名,GENDER为性别,AGE为年龄,DEPT为系别,C#为课程号,CNAME为课程名,GRADE为成绩。检索选修课程名为“数据库概论”的学生学号和姓名,SQL语句为()。

注意:这个查询条件课程名称,存放在课程表C中,而学生的学号和姓名在学生表S中,学生选课的信息又放在成绩表SC中,所以,我们这么来查询:我们要查询的目标学生学号s#和姓名sname放在select后面,而这两个列的数据在学生表s里面,from后面就是学生表标识符s,而条件是学生选了“数据库概论”课程,学生的选课数据在成绩表SC中,因此,where条件是找学号在成绩表中的那些选修了“数据库概论”课程的学生,因此,用in子句在sc表中找学生,但因为课程名称在课程表c中,因此,还需要再嵌套增加一个IN子句,这个子句在C表中设定课程名称cname为“数据库概论”,select查询目标是课程号c#,把查询得到的课程号c#返回到成绩表sc中,对应查询选课的学生,返回学号s#,在学生表中找出学号s#和学生姓名sname。
相关推荐
扫描二维码
关注公众平台