监督管理平台实施人员考题
注意事项:
一、选择题(单选题)(共12题,每题1分,共计12分)
A. 两个表关联查询时,小表写在FROM子句最后,大表写在FROM之后小表之前。
B. 三个表关联查询时,选择交叉表(被其他表所引用的表)作为基础表, 写在FROM子句最后。
C. WHERE 子句中,ORACLE 采用自上而下的顺序解析WHERE 子句,根据这个原理,表之间的连接必须写在WHERE 子句的末尾,那些可以过滤掉最大数量记录的条件必须写在其他WHERE 条件之前。
D. 用EXISTS 替代IN。
A. 左联接
B. 右联接
C. 内部联接
D. 完全联接求
A. +
B. &
C. ||
D. |
A.START
B.LIST
C./
D.SPOOL
A.IN
E.EXISTS
C.IS
D.LIKE
A.CONVERT()
B.To_DATE()
C.TO_CHAR()
D.TO_NUM
A.INSTR
B.LPAD
C.SUBSTR
D.LENGT
A. SELECT sum() FROM dual的结果
B.没有连接条件的多表连接的结果
C.SELECT * FROM dual的结果
D.模糊查询的结果
A.0 B.1 C 2 D.3
A.语法错误
B.有数据行返回,返回的行数要根据表中数据的具体情况来分析
C.返回3行数据
D.返回12行数据
A.CREATE TABLE B.CONNECT C.CREATE SESSION D.CREATE ANY INDE
二、问答题(共6题,每题3分,共计18分)
索引就一种特殊的查询表,数据库的搜索可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。
内连接,外链接,交叉链接,自链接
其实质是变量,有些类似于我们经常使用的替代变量,替代变量使用&占位符,只不过绑定变量使用:
优点:
可以在library cache中共享游标,避免硬解析以及与之相关的额外开销
在大批量数据操作时将呈数量级来减少闩锁的使用,避免闩锁的竞争
缺点:
绑定变量被使用时,查询优化器会忽略其具体值,因此其预估的准确性远不如使用字面量值真实,尤其是在表存在数据倾斜
在PL/SQL Developer中写好一段SQL代码,按F5,或者点击“执行执行计划”图标,PL/SQL Developer会自动打开执行计划窗口,显示该SQL的执行计划
Exp,imp
使用Oracle自带的插件
一个手动,一个自动
6、请描述下你对监督管理平台追踪查证模型和预警规则设定方式的了解?
三、编程题(共1大题,含13小题,第1小题6分,其它小题每题2分,共计30分)
有某个学生运动会比赛的数据库,保存了如下的表
·运动员 sporter(运动员编号 sid,运动员姓名 sname,运动员性别 sex,所属系号 department)
·项目 item(项目编号 itemid,项目名称 itemname,项目比赛地点 location)
·成绩 grade(运动员编号 sporterid,项目编号 itemid, 积分 mark)
sporter(运动表) |
||
列名 |
数据类型 |
所指内容 |
sporterid |
NUMBER(10) |
运动员编号 |
name |
VARCHAR2(30) |
运动员姓名 |
sex |
VARCHAR2(10) |
运动员性别 |
department |
VARCHAR2(20) |
所属系 |
item(项目表) |
||
列名 |
数据类型 |
所指内容 |
itemid |
NUMBER(10) |
项目编号 |
itemname |
VARCHAR2(30) |
项目名称 |
location |
VARCHAR2(50) |
项目比赛地点 |
grade(成绩表) |
||
列名 |
数据类型 |
所指内容 |
sporterid |
NUMBER(10) |
运动员编号 |
itemid |
NUMBER(10) |
项目编号 |
mark |
NUMBER(10) |
积分 |
Alter table sporter add constraint pk_sporterid primary key(sporterid)
Alter table grade add constraint pk_itemid primary key(itemid)
alter table grade add constraint fk_sporterid foreign key(sporterid) references
sporter(sporterid)
Alter table grade add constraint fk_item foreign key(item) references
Sporter(item)
Add table sporter modify (name not null)
Add table sporter modify (department not null)
Update sporter set sex=’性别不详’
表中相关数据:
运动员(
1001,李明,男,计算机系
1002,张三,男,数学系
1003,李四,男,计算机系
1004,王二,男,物理系
1005,李娜,女,心理系
1006,孙俪,女,数学系
)
项目(
001, 男子五千米, 一操场
002, 男子标枪, 一操场
003, 男子跳远, 二操场
004, 男子跳高, 二操场
005, 女子三千米, 三操场)
积分(
1001, 001, 6
1002, 001, 4
1003, 001, 2
1004, 001, 0
1001, 003, 4
1002, 003, 6
1004, 003, 2
1005, 004, 6
1006, 004, 4 )
请按照要求写出下列要求的sql:
Select * from sporter where sporterid=’1004’
Select * from sporter where department=’物理系’ and sex=’女’
Select t2.itemname from sporter t1,item t2,grade t3
Where t1.sporterid=t3.sporterid
And t3.itemid=t2.itemid
And t1.sporterid=’1002’
Order by t3.mark desc
Select count(t1.sporterid) from sporter t1,item t2,grade t3
Where t1.sporterid=t3.sporterid
And t3.itemid=t2.itemid
And t2.itemname=’男子跳远’
Group by t1.sporterid
Select max(t3.mark) from sporter t1,item t2,grade t3
Where t1.sporterid=t3.sporterid
And t3.itemid=t2.itemid
And t2.itemname=’男子跳远’
Group by sporterid
Select sum(t3.mark) from sporter t1,item t2,grade t3
Where t1.sporterid=t3.sporterid
And t3.itemid=t2.itemid
And t1.sporterid=’1001’
Select itemid,count(sporterid) from grade
Group by itemid
Select distinct sporterid from grade
Select itemid,max(mark) from grade
Group by itemid
Having max(mark)
delete from grade where item=(select itemid from item where itemname=’男子标枪’)
Delete from item where itemname=’男子标枪’
Insert into sporter(sporterid,name,sex,department) values (‘1007’,’邓超’,’男’,’数学系’)