1,
答案为:c,a,c
这里第三题没有正确答案,c选项应该是employee.is_local=0,另外注意两个表连接的语句.
这里答案为:a,b,c
其中第一题,grant 权限+on+表+to
revoke 权限+on+from
第二题,注意还需要删除表,所以只能是drop
第三题,题目中给出两个选择条件,在结果中就也需要两个.
答案为a,a
procedure
答案为:d,c,b,d
其中第二小问的remove没有这个关键字.
第三小问,题目中,有with grant option ,所以收回给a的权限,应该加cascade.
第四小问,中虽然没有group by 但是也可以执行.首先在最后将两个表的id连接在一起.所以可以查出3条记录,不是将所有的mneed加起来.(这是一个特例)
答案为:a,d,b,a
其中第一题,例如触发器可以实现让某个值不等于0,这就是一种完整性约束.
第二题,触发器由数据库服务器自动执行,而存储过程需要调用,是经过编译后,存储在数据库中.
答案为:b,c,d,a,b
答案为:c,d,d,d,c
其中,第一题,having后面可以跟聚集函数.
第三题注意,触发器中不能包含事务控制语句,存储过程中可以.
第五题,if else语句就被称为流程控制.
答案为:a,d,a,c
其中第一题为声明函数,课本8.9.6节,可以看一下.
答案为:b,d,c,a,a
其中第一题,forall 可能是批量操作的语句. with check option是在视图创建时候用的可选项.
答案为:c,b,d,c,b
其中,这里多次出现distinct关键词,它的意思是:取不同的值,相同的不会列两行.
对于第二题,group by是不可以跟排序的.
第三题,权限不止由数据库管理员授予.
答案为:b,a,d,d,c
其中第三题,触发器内部不能有事务管理语句.
第一题,首先需要将两张表进行连接.42空,类似于前面的题,只有添两个部门号相等,才能各自计算每个部门的值,达到分组的效果.
前面的我们需要在两张表中取数据,那么就需要建立连接.也就是说,需要给出两个表的主键值.
答案为:d,a,d,c,d
其中第一题暂且选d,因为是与结果最接近的.
第二题注意check后面()内要加属性名,这里可以是in 也可以是=.
答案为:a,c,a,d
其中,注意第二题,属性列需要加()
答案为:a,d,c,b,c
这里需要注意,对于数字是不需要用’‘的,对于字符才需要’',注意与选择公式的区别.
答案为:c,d,a,b,c,b,d,c,d
这里第二题,最后一小问,是存储过程的一个作用.
这里答案是:a,c,d,b,a
其中,第一题很简单,第二题,需要将两张表连接起来,再查询.
这里也可以看到,from后面的表,是供select和where语句来用的.
第三题首先来自学生表,下面一张表来自教师表.
except 差,intersect 交,union 并,union all(不删除重复行.)
标识主变量无空值是指示变量的工作.
另外,注意视图在数据库中存储的方式是视图定义.
答案为:d,c,c,a,d
其中,第二题,一个关系可以有多个候选码,但是只能有一个主码.
第三题,alter table drop 用于删除约束.
这里第四题,与上一张图形成对比.
这里要求每种零件的均值,差值,所以需要分组.
而上一道题,只是查询出来,对查询出的结果进行聚集.是有区别的.
答案为:d,b,c
其中第二小题,in后面不能加to 或者and
between and是固定语法.
这道题重点在第一小问,加不加括号.
是需要的.因为and的优先级>or的优先级.
答案为:b,d,d,c,b,b,d
其中,为什么要加一个就诊时间呢?
因为题目中的一个病人可以找多个医生多次诊治,并不是只能诊治一次,所以就诊时间是必要的.
答案为:b,c,a,d,a
其中,只读数据,就是不可以修改的数据,如通过select语句产生,所以选择视图.
这里最后一道题,知道是继承类型就可以了.