假定学生Students和教师Teachers关系模式如下所示: Studen

admin2022-08-02  34

问题 假定学生Students和教师Teachers关系模式如下所示:Students(学号,姓名,性别,类别,身份证号)Teachers(教师号,姓名,性别,身份证号,工资)a.查询在读研究生教师的平均工资、最高与最低工资之间差值的SQL语句如下:SELECT(  )FROM Students,Teachers WHERE(  );b.查询既是研究生,又是女性,且工资大于等于3500元的教师的身份证号和姓名的SQL语句如下:(SELECT身份证号,姓名FROM StudentsWHERE(  ))(  )(SELECT身份证号,姓名FROM TeachersWHERE(  ))问题1选项A.AVG(工资)AS平均工资,MAX(工资)-MIN(工资)AS差值B.平均工资AS AVG(工资),差值AS MAX(工资)-MIN(工资)C.AVG(工资)ANY平均工资,MAX(工资)-MIN(工资)ANY差值D.平均工资ANY AVG(工资),差值ANY MAX(工资)-MIN(工资)问题2选项A.Students.身份证号=Teachers.身份证号B.Students.类别=‘研究生’C.Students.身份证号=Teachers.身份证号AND Students.类别=‘研究生’D.Students.身份证号=Teachers.身份证号OR Students.类别=‘研究生’问题3选项A.工资>=3500B.工资>=‘3500’C.性别=女AND类别=研究生D.性别=‘女’AND类别=‘研究生’问题4选项A.EXPERTB.INTERSECTC.UNIOND.UNIONALL问题5选项A.工资>=3500B.工资>=‘3500C.性别=女AND类别=研究生D.性别=‘女’AND类别=‘研究生’

选项

答案 ACDBA

解析 第1空,在SQL的SELECT语句中给一个列取别名的格式为:[原列名]AS[新列名]。
第2空,是要求指定Students表和Teachers表连接的条件和学生的类型为研究生,因此正确的格式应该为:Students.身份证号=Teachers.身份证号AND Students.类别=‘研究生’,注意:类别的数据类型为字符型,所以需要使用单引号引起来。
第3~5空:在关系代数中集合的并、交、差运算,在SQL中可以使用保留字UNION、INTERSECT、EXCEPT来进行查询。根据题意和两个SELECT语句的格式可以得出第4处应该使用交运算即使用关键字INTERSECT;由于工资只有在关系Teachers中存在,所以第3处可以排除A、B两个选项,再加上性别这列为字符类型,当表达式中使用字符类型,日期类型必须使用单引号将值引起来,所以正确选项为D;根据题意第5处就应该填写工资大于3500的条件表达式。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2419732.html

最新回复(0)