现有学生表Student和选课表Selection,如下表所示 请回答下列问题: (1)计算Student Selection,并以表的形式给出结果。 (2)写出查询年龄在20岁以上(不含20岁)的男学生的学号和姓名的SQL语句。
【正确答案】:(1)<> <> <><>学号 >> <><>姓名 >> <><>性别 >> <><>年龄 >> <><>课程号 >> <><>成绩 >> > <> <><>1001>> <><>李一 >> <><>男 >> <><>19>> <><>01>> <><>90>> > <> <><>1001>> <><>李一 >> <><>男 >> <><>19>> <><>02>> <><>80>> > <> <><>1001>> <><>李一 >> <><>男 >> <><>19>> <><>03>> <><>75>> > <> <><>1003>> <><>赵三 >> <><>男 >> <><>21>> <><>02>> <><>90>> > <> <><>1003>> <><>赵三 >> <><>男 >> <><>21>> <><>05>> <><>85>> > >
【题目解析】:本题要求计算Student Selection,这是自然连接运算。自然连接运算是将两关系按照字段值相等为条件进行连接运算,并将结果中去掉重复属性。本题目关系Student和关系Selection的公共字段为“学号”字段进行等值连接运算,然后去掉重复的“学号”属性,得到的结果如答案所示。(2)SELECT 学号,姓名 FROM Student WHERE 年龄>20 AND 性别=“男”