设有教师表(教师编号 姓名 性别 职称 部门 电话) 课程表(课程编号 课程名称 学时 学分) 任课表(
设有教师表(教师编号,姓名,性别,职称,部门,电话) 课程表(课程编号,课程名称,学时,学分) 任课表(教师编号,课程编号,班级编号,上课时间,上课地点) 请写出下列视图操作的T-SQL语句: 1、创建视图viewbm,显示各部门的人数。想想这个视图能够进行增、删、改操作吗? 2、创建视图viewjs,显示所有职称为教授的教师的任课信息,显示教师姓名,职称,课程名称,班级编号,上课时间,上课地点。想想这个视图能够进行增、删、改操作吗?

回答
共1条回复-
C 解析:本查询是基于教师表查询其他系中比计算机系所有教师工资都高的教师的姓名和工资,4个选项中都使用了子查询。选项A中子查询给出了计算机系所有教师的工资的集合,子查询前的量词ANY代表任意一个,AND前后是并列的条件,该语句查询的是非计算机系中工资大于计算机系任何一个教师的工资的教师的姓名和工资,或者说是查询非计算机系中工资比计算机系最低工资高的教师的姓名和工资,假如,计算机系教师的工资集合是(1500,1300,900),那么查询的是所有不是计算机系且工资高于900的教师,该选项不合题义。选项B中子查询使用了函数MIN求出了计算机系最低工资,查询的结果是找出非计算机系中工资比计算机系最低工资高的教师姓名和工资,同选项A一样,不合题义;选项C中子查询给出了计算机系所有教师的工资的集合,子查询前的量词ALL代表全部,该语句查询的是非计算机系中工资大于计算机系所有教师的工资的教师的姓名和工资,或者说是查询非计算机系中工资比计算机系最高工资都高的教师的姓名和工资,假如,计算机系教师的工资集合是(1500,1300,900),那么查询的是所有不是计算机系且工资高于1500的教师,该选项符合题义,是正确的。选项D中子查询使用了函数MAX求出了计算机系最高丁资,按题义应该是正确的,但是由于将并列条件“所在系<>计算机”放在于查询之内,造成逻辑表达错误,因此也是错误。
