欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】OCA认证-9及答案解析.doc

    • 资源ID:1318353       资源大小:88.50KB        全文页数:16页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】OCA认证-9及答案解析.doc

    1、OCA 认证-9 及答案解析(总分:100.00,做题时间:90 分钟)一、不定项选择题(总题数:40,分数:100.00)1.EMPLOYEES 和 DEPARTMENTS 表有两个名称相同的列:DEPARTMENT_ID 和 MANAGER_ID。下面哪些语句只依据公共的 DEPARTMENT_ID 值联接这两个表?(分数:2.50)A.SELECT*FROM EMPLOYEES NATURAL JOIN DEPARTMENTS;B.SELECT*FROM EMPLOYEES E NATURAL JOIN DEPARTMENTS D ON E.DEPARTMENT_ID=D.DEPARTM

    2、ENT_ID;C.SELECT*FROM EMPLOYEES NATURAL JOIN DEPARTMENTS USING(DEPARTMENT_ID);D.以上都不对2.EMPLOYEES 和 DEPARTMENTS 表有两个名称相同的列:DEPARTMENT_ID 和 MANAGER_ID。下面哪些语句依据这两个公共列值联接这两个表?(分数:2.50)A.SELECT*FROM EMPLOYEES NATURAL JOIN DEPARTMENTS;B.SELECT*FROM EMPLOYEES JOIN DEPARTMENTS USING(DEPARTMENT_ID,MANAGER_ID)

    3、;C.SELECT*FROM ENPLOYEES E JOIN DEPARTMENTS D ON E.DEPARTMENT_ID=D.DEPARTMENT_ID AND E.MANAGER_ID=D.MANAGER_ID;D.以上都不对3.下面的查询执行哪种联接? SELECT E.JOB_ID,J.JOB_ID FROM EMPLOYEES E JOIN JOBS J ON(E.SALARYJ.MAX_SALARY);(分数:2.50)A.同等联接B.非同等联接C.交叉联接D.外联接4.从语法上看,下面哪些语句是正确的?(分数:2.50)A.SELECT*FROM EMPLOYEES E J

    4、OIN DEPARTMENTS D USING(DEPARTMENT_ID)B.SELECT*FROM EMPLOYEES JOIN DEPARTMENTS D USING(D.DEPARTMENT_ID);C.SELECT D.DEPARTMENT_ID FROM EMPLOYEES JOIN DEPARTMENTS D USING(DEPARTMENT_ID);D.以上都不对5.从语法上看,下面哪些语句是正确的?(分数:2.50)A.SELECT E.EMPLOYEE_ID,J.JOB_ID PREVIOUS_JOB,E.JOB,ID CURRENT,JOBFROM JOB_HISTORY

    5、 J CROSS JOIN EMPLOYEES E ON(J.START_DATE=E.HIRE_DATE);B.SELECT E.EMPLOYEE_ID,J.JOB_ID PREVIOUS_JOB,E.JOB_IDCURRENT_JOB FROM JOB_HISTORY J JOIN EMPLOYEES E ON(J.START_DATE=E.HIRE_DATE);C.SELECT E.EMPLOYEE_ID,J.JOB_ID PREVIOUS_JOB,E.JOB_IDCURRENT_JOB FROM JOB_HISTORY J OUTER JOIN EMPLOYEES E ON(J.STA

    6、RT_DATE=E.HIRE_DATE);D.以上都不对6.关于下面的查询,请选择一种正确说法: SELECT*FROM EMPLOYEES E JOIN DEPARTMENTS D ON(D.DEPARTMENT_ID=E.DEPARTMENT_ID)JOIN LOCATIONS L ON(L.LOCATION_ID=D.LOCATION_ID);(分数:2.50)A.不允许联接三个表B.生成笛卡尔乘积C.JOIN.ON 子句可用于多个表之间的联接D.以上都不对7.执行下面的语句后,会返回多少行? SELECT*FROM REGIONS R1 JOIN REGIONS R2 ON(R1.RE

    7、GION_ID=LENGTH(R2.REGION_NAME)/2); REGIONS 表包含下列行数据。 REGION_ID REGION_NAME 1 Europe 2 Americas 3 Asia 4 Middle East and Africa (分数:2.50)A.2B.3C.4D.以上都不对8.关于下面的查询,请选择一种正确说法: SELECT C.COUNTRY_ID FROM LOCATIONS L RIGHT OUTER JOIN COUNTRIES C ON(L.COUNTRY_ID=C.COUNTRY_ID)WHERE L.COUNTRY_ID is NULL;(分数:2

    8、.50)A.不返回 LOCATIONS 表中有 COUNTRY_ID 值的行B.不返回 COUNTRIES 表中有 COUNTRY_ID 值的行C.返回的行表示 LOCATIONS 表中所有行的 COUNTRY_ID 值D.以上都不对9.从语法上看,下面哪些语句是正确的?(分数:2.50)A.SELECT JH.JOB_ID FROM JOB_HISTORY JH RIGHT OUTER JOIN JOBS J ONJH.JOB_ID=J.JOB_ID;B.SELECT JOB_ID FROM JOB_HISTORY JH RIGHT OUTER JOIN JOBS J ON(JH.JOB_I

    9、D=J.JOB_ID);C.SELECT JOB_HISTORY.JOB_ID FROM JOB_HISTORY OUTER JOIN JOBS ONJOB_HISTORY.JOB_ID=JOBS.JOB_ID;D.以上都不对10.如果将 REGIONS 表(包含 4 行)交叉联接到 COUNTRIES 表(包含 25 行),那么最终的结果集中应该有多少行?(分数:2.50)A.100 行B.4 行C.25 行D.以上都不对11.考察下面给出的 SELECT 语句的一般形式: SELECT select_list FROM table WHERE condition GROUP BY expr

    10、ession_1 HAVING expression_2 ORDER BY expression_3; 可以在哪里使用子查询?(分数:2.50)A.select_listB.tableC.conditionD.expression_1E.expression_2F.expression_312.查询将子查询嵌套在它里面。在什么情况下可以有多个子查询?(分数:2.50)A.外查询可以包含内查询。在内查询中不能有另一个查询B.在多行子查询里可以嵌套单行子查询,而不是相反C.外查询可以有多个内查询,但它们不能相互嵌套D.子查询可以相互嵌套,对嵌套深度没有实际限制13.考察下面的语句: SELECT

    11、employee_id,last_name FROM employees WHERE salary (SELECT avg(salary) FROM employees); 何时执行子查询?(分数:2.50)A.在外查询之前执行子查询B.在外查询之后执行子查询C.与外查询同时执行子查询D.子查询为 EMPLOYEES 表中的每一行都要执行一次14.考察下面的语句: SELECT o.employee_id,o.last_name FROM employees o WHERE o.salary (SELECT avg(i.salary) FROM employees i WHERE i.depa

    12、rtment_id=o.department_id); 何时执行子查询?(分数:2.50)A.在外查询之前执行子查询B.在外查询之后执行子查询C.与外查询同时执行子查询D.子查询为 EMPLOYEES 表中的每一行都要执行一次15.考察下面的语句: SELECT last_name FROM employees JOIN departments ON employees.department_id=departments.department_id WHERE department_name=“Executive“; 以及这个语句: SELECT last_name FROM employee

    13、s WHERE department_id IN (SELECT department_id FROM departments WHERE department_name=“Executive“); 关于这两条语句,下面哪些说法是正确的?(分数:2.50)A.这两条语句生成的结果相同B.这两条语句生成的结果不同C.第一条语句总是能成功运行;如果有两个部门的 DEPARTMENT_NAME 是Executive,第二条语句会出现错误D.两个语句都会成功运行;即使有两个部门的 DEPARTMENT_NAME 都是Executive16.哪些是标量子查询的显著特性?(分数:2.50)A.标量子查询返

    14、回一行B.标量子查询返回一列C.不能在父查询的 SELECT 列表中使用标量子查询D.标量子查询不能用作关联子查询17.哪些比较运算符不能与多行子查询一起使用?(分数:2.50)A.ALLB.ANYC.IND.NOT INE.以上都能用18.考察下面的语句: SELECT last_name, (SELECT count(*) FROM departments) FROM employees WHERE salary=(SELECT salary FROM employees); 它有什么错误?(分数:2.50)A.没有错误语句可以运行,没有错误B.语句会失败,因为 SELECT 列表中的子查

    15、询引用的表不在 FROM 子句中C.如果条件子查询返回多行,语句就会失败D.语句会运行,但非常没有效率,因为第二个子查询需要为 EMPLOYEES 表中的每一行都运行一次19.下列哪些语句是对等的?(分数:2.50)A.SELECT employee_idFROM employeesWHERE salaryALL(SELECT salaryFROM employeesWHERE department_id=10);B.SELECT employee_idFROM employeesWHERE salary(SELECT min(salary)FROM employeesWHERE depart

    16、ment_id=10);C.SELECT employee_idFROM employeesWHERE Salary NOT=ANY(SELECT salaryFROM employeesWHERE department_id=10);D.SELECT employee_idFROM employees eJOIN departments dON e.department_id=d.department_idWHERE e.salary(SELECT min(salary)FROM employees)AND d.department_id=10;20.考察下面的语句,它用来提示输入员工的姓名

    17、,然后查找所有与该名员工从事的工作相同的员工: SELECT last_name,employee_id FROM employees WHERE job_id= (SELECT job_id FROM employees WHERE last_name=“ 如果 EMP.EMPNO 列和 EX_EMP.EMP_ID 列都是整数,EMP.HIRED 列是时间戳;EX_EMP.HIRED 列和 EX_EMP.FIRED列是日期。这条语句为什么会失败?(分数:2.50)A.因为 EMPNO 列和 EMP_ID 列的名称不同B.因为 EMP.HIRED 列和 EX_EMP,HIRED 列的数据类型不

    18、同C.因为第一个查询中有两列,第二个查询中有三列D.以上都是原因E.查询会成功25.下列语句的哪一行会让它失败?(分数:2.50)A.select ename,hired from current_staffB.order by enameC.minusD.select ename,hired from current staffE.where deptno=10F.order by ename;26.考察语句: select ename from emp union all select ename from ex_emp; 以什么顺序返回行?(分数:2.50)A.对来自每个表的行进行分组,

    19、在每个分组里按 ENAME 进行排序B.对来自每个表的行进行分组,但不排序C.不会对行进行分组,但会依据 ENAME 对它们进行排序D.既不会对行进行分组,也不会对它们进行排序27.在下面的语句中,有关内存实例和会话内存的哪个说法是正确的?(分数:2.50)A.SGA 内存是专用内存段;PGA 内存是共享内存段B.会话可以对 PGA 执行写操作,不能对 SGA 执行写操作C.所有会话对 SGA 执行写操作,只有一个会话对 PGA 执行写操作D.PGA 在实例启动时分配E.SGA 在实例启动时分配28.会话如何与数据库通信?(分数:2.50)A.服务器进程使用 Oracle Net 连接到实例B

    20、.后台进程使用 Oracle Net 连接到数据库C.用户进程从数据库读取,对实例执行写操作D.服务器进程执行从用户进程收到的 SQL29.哪些内存结构是 SGA 必需的部分?(分数:2.50)A.数据库缓冲区缓存B.Java 池C.大池D.日志缓冲区E.程序全局区F.共享池G.流池30.下面的哪些 SGA 内存结构无法在启动实例后动态重设大小?(分数:2.50)A.数据库缓冲区缓存B.Java 池C.大池D.日志缓冲区E.共享池F.流池G.所有 SGA 结构都可以在启动实例后动态重设大小31.下面的哪些 SGA 内存结构无法在启动实例后自动重设大小?(分数:2.50)A.数据库缓冲区缓存B.

    21、Java 池C.大池D.日志缓冲区E.共享池F.流池G.所有 SGA 结构都可以在启动实例后自动重设大小32.当会话更改数据时,会在何处写入更改?(分数:2.50)A.写入缓存中的数据块和重做日志缓冲区B.写入磁盘上的数据块和当前联机重做日志文件C.会话写入数据库缓冲区缓存,日志写入器写入当前联机重做日志文件D.在提交更改前不执行任何写入33.下面哪个后台进程是可选的?(分数:2.50)A.ARCn,归档进程B.CKPT,检查点进程C.DBWn,数据库写入器D.LGWR,日志写入器E.MMON,可管理性监视器34.用户发出 COMMIT 时会发生什么事情?(分数:2.50)A.CKPT 进程发

    22、出检查点B.DBWn 进程将事务的更改缓冲区写入数据文件C.LGWR 将日志缓冲区转储到联机重做日志中D.ARCn 进程将变更向量写入归档重做日志35.在一个 Oracle 实例中,有些进程的数量只能是一个,而有些则可以有多个,下面的哪些进程可以多次出现?(分数:2.50)A.归档进程B.检查点进程C.数据库写入器进程D.日志写入器进程E.会话服务器进程36.一个段可以分布到多个数据文件,这如何实现?(分数:2.50)A.将包含块的区间分配到多个数据文件B.将段分布到多个表空间C.将多个数据文件分配到一个表空间D.使用大于操作系统块大小的 Oracle 块大小37.有关联机重做日志的描述,哪个

    23、语句是正确的?(分数:2.50)A.至少必须有一个日志文件组,此组至少有一个成员B.至少必须有一个日志文件组,此组至少有两个成员C.至少必须有两个日志文件组,每组至少有一个成员D.至少必须有两个日志文件组,此组至少有两个成员38.当前重做字节地址(也称为增量检查点位置)在何处记录?(分数:2.50)A.在控制文件中B.在当前联机日志文件组中C.在每个数据文件的文件头处D.在系统全局区39.输入 URL https:/127.0.0.1:5500/em,却接收到一个错误。这可能是什么问题?(分数:2.50)A.没有启动数据库侦听器B.Database Express 运行在不同的端口上C.没有登

    24、录数据库服务器节点D.没有启动 Cloud Control 代理E.没有启动数据库40.什么协议可用于连接 Database Express?(分数:2.50)A.HTTPB.HTTPSC.Oracle NetD.IPCOCA 认证-9 答案解析(总分:100.00,做题时间:90 分钟)一、不定项选择题(总题数:40,分数:100.00)1.EMPLOYEES 和 DEPARTMENTS 表有两个名称相同的列:DEPARTMENT_ID 和 MANAGER_ID。下面哪些语句只依据公共的 DEPARTMENT_ID 值联接这两个表?(分数:2.50)A.SELECT*FROM EMPLOYE

    25、ES NATURAL JOIN DEPARTMENTS;B.SELECT*FROM EMPLOYEES E NATURAL JOIN DEPARTMENTS D ON E.DEPARTMENT_ID=D.DEPARTMENT_ID;C.SELECT*FROM EMPLOYEES NATURAL JOIN DEPARTMENTS USING(DEPARTMENT_ID);D.以上都不对 解析:所有查询都不正确,所以 D 是正确答案。 A、B 和 C 不正确。A 不正确是因为该查询实现了自然联接,它依据所有名称相同的列隐式联接这两个表,在这里,相同的名称是 DEPARTMENT_ID 和 MANA

    26、GER_ID。B 和 C 不正确是因为 B 和 C 中的查询包含 NATURAL关键字,因此不正确。如果删除它,就会依据 DEPARTMENT_ID 列联接 DEPARTMENTS 和 EMPLOYEES 表。2.EMPLOYEES 和 DEPARTMENTS 表有两个名称相同的列:DEPARTMENT_ID 和 MANAGER_ID。下面哪些语句依据这两个公共列值联接这两个表?(分数:2.50)A.SELECT*FROM EMPLOYEES NATURAL JOIN DEPARTMENTS; B.SELECT*FROM EMPLOYEES JOIN DEPARTMENTS USING(DEP

    27、ARTMENT_ID,MANAGER_ID); C.SELECT*FROM ENPLOYEES E JOIN DEPARTMENTS D ON E.DEPARTMENT_ID=D.DEPARTMENT_ID AND E.MANAGER_ID=D.MANAGER_ID; D.以上都不对解析:这些子句说明依据 DEPARTMENT_ID 和 MANAGER_ID 列联接表的不同方法。 D 不正确,因为给出了正确答案。3.下面的查询执行哪种联接? SELECT E.JOB_ID,J.JOB_ID FROM EMPLOYEES E JOIN JOBS J ON(E.SALARYJ.MAX_SALARY

    28、);(分数:2.50)A.同等联接B.非同等联接 C.交叉联接D.外联接解析:联接条件是基于小于不等于运算符的表达式。因此,这个联接是非同等联接。 A、C 和 D 不正确。如果联接条件表达式中的运算符是等于运算符,那么 A 就正确。使用 CROSS JOIN 关键字或者没有联接条件的话,答案就是 C。如果使用 OUTER JOIN 子句取代 JOIN.ON 子句,那么 D 正确。4.从语法上看,下面哪些语句是正确的?(分数:2.50)A.SELECT*FROM EMPLOYEES E JOIN DEPARTMENTS D USING(DEPARTMENT_ID) B.SELECT*FROM E

    29、MPLOYEES JOIN DEPARTMENTS D USING(D.DEPARTMENT_ID);C.SELECT D.DEPARTMENT_ID FROM EMPLOYEES JOIN DEPARTMENTS D USING(DEPARTMENT_ID);D.以上都不对解析:这个语句说明了 JOIN.USING 子句的正确用法。 B、C 和 D 不正确。B 不正确,因为在 USING 关键字之后的括号内只允许出现非限定性列名。C 不正确,因为在 SELECT 语句中不能使用限定符引用 USING 关键字之后括号内的列。D 不正确,因为给出了一个正确答案。5.从语法上看,下面哪些语句是正确

    30、的?(分数:2.50)A.SELECT E.EMPLOYEE_ID,J.JOB_ID PREVIOUS_JOB,E.JOB,ID CURRENT,JOBFROM JOB_HISTORY J CROSS JOIN EMPLOYEES E ON(J.START_DATE=E.HIRE_DATE);B.SELECT E.EMPLOYEE_ID,J.JOB_ID PREVIOUS_JOB,E.JOB_IDCURRENT_JOB FROM JOB_HISTORY J JOIN EMPLOYEES E ON(J.START_DATE=E.HIRE_DATE); C.SELECT E.EMPLOYEE_ID

    31、,J.JOB_ID PREVIOUS_JOB,E.JOB_IDCURRENT_JOB FROM JOB_HISTORY J OUTER JOIN EMPLOYEES E ON(J.START_DATE=E.HIRE_DATE);D.以上都不对解析:B 说明了 JOIN.ON 子句的正确用法。 A、C 和 D 不正确。A 不正确,因为 CROSS JOIN 子句不能包含 ON 关键字。C 不正确,因为 LEFT、RIGHT 或者 FULL 关键字必须在 OUTER JOIN 关键字之前。D 不正确,因为给出了一个正确答案。6.关于下面的查询,请选择一种正确说法: SELECT*FROM EMPL

    32、OYEES E JOIN DEPARTMENTS D ON(D.DEPARTMENT_ID=E.DEPARTMENT_ID)JOIN LOCATIONS L ON(L.LOCATION_ID=D.LOCATION_ID);(分数:2.50)A.不允许联接三个表B.生成笛卡尔乘积C.JOIN.ON 子句可用于多个表之间的联接 D.以上都不对解析:JOIN.ON 子句和其他联接子句都可用于多个表之间的联接。JOIN.ON 和 JOIN.USING 子句更适合于 N 路表联接。 A、B 和 D 不正确。A 不正确,因为可以联接许多表。B 不正确,没有创建笛卡尔乘积,因为有两个联接条件和 3 个表。D

    33、 不正确,因为给出了一个正确答案。7.执行下面的语句后,会返回多少行? SELECT*FROM REGIONS R1 JOIN REGIONS R2 ON(R1.REGION_ID=LENGTH(R2.REGION_NAME)/2); REGIONS 表包含下列行数据。 REGION_ID REGION_NAME 1 Europe 2 Americas 3 Asia 4 Middle East and Africa (分数:2.50)A.2B.3 C.4D.以上都不对解析:返回 3 行。REGIONS 表联接到它自身。对于别名为 R1 的表中 REGION_ID 值为 2 的行而言,REGIO

    34、N_NAME 值是 Asia,REGION_NAME 值长度的一半也是 2,因此返回这一行。同样,会返回 REGION_ID值为 3 和 4、REGION_NAME 值为 Europe 和 Americas 的行。 A、C 和 D 都不正确,因为返回了 3 行。8.关于下面的查询,请选择一种正确说法: SELECT C.COUNTRY_ID FROM LOCATIONS L RIGHT OUTER JOIN COUNTRIES C ON(L.COUNTRY_ID=C.COUNTRY_ID)WHERE L.COUNTRY_ID is NULL;(分数:2.50)A.不返回 LOCATIONS 表

    35、中有 COUNTRY_ID 值的行 B.不返回 COUNTRIES 表中有 COUNTRY_ID 值的行C.返回的行表示 LOCATIONS 表中所有行的 COUNTRY_ID 值D.以上都不对解析:除了在执行 LOCATIONS 和 COUNTRIES 表之间的内联接时返回的结果之外,右外联接还获取了内联接时被排除的 COUNTRIES 行。然后 WHERE 子句删除内联接的结果。COUNTRIES 表中剩下的行表示 LOCATIONS表中没有所属地区的国家。 B、C 和 D 都不正确。B 不正确因为它是从 COUNTRIES 表中返回的行。C 不正确是因为这些是内联接时包含的行,但被 WH

    36、ERE 子句删除。D 不正确,是因为 A 是正确答案。9.从语法上看,下面哪些语句是正确的?(分数:2.50)A.SELECT JH.JOB_ID FROM JOB_HISTORY JH RIGHT OUTER JOIN JOBS J ONJH.JOB_ID=J.JOB_ID; B.SELECT JOB_ID FROM JOB_HISTORY JH RIGHT OUTER JOIN JOBS J ON(JH.JOB_ID=J.JOB_ID);C.SELECT JOB_HISTORY.JOB_ID FROM JOB_HISTORY OUTER JOIN JOBS ONJOB_HISTORY.JO

    37、B_ID=JOBS.JOB_ID;D.以上都不对解析:该语句说明了 RIGHT OUTER JOIN.ON 子句的正确用法。 B、C 和 D 都不正确。B 选项中没有限定 SELECT 子句中的 JOB_ID 列,因此它很模糊,没有指定这一列来自哪个表。C 使用 OUTER JOIN,没有关键字 LEFT、RIGHT 或者 FULL。D 不正确,是因为有一个正确答案。10.如果将 REGIONS 表(包含 4 行)交叉联接到 COUNTRIES 表(包含 25 行),那么最终的结果集中应该有多少行?(分数:2.50)A.100 行 B.4 行C.25 行D.以上都不对解析:交叉联接将 REGI

    38、ONS 表中的 4 行乘以 COUNTRIES 表中的 25 行,得到的结果集有 100 行。 B、C 和 D 都不正确。如果每个表的行数乘积是 4 或 25,就返回 B 或 C。D 不正确,是因为 A 是正确答案。11.考察下面给出的 SELECT 语句的一般形式: SELECT select_list FROM table WHERE condition GROUP BY expression_1 HAVING expression_2 ORDER BY expression_3; 可以在哪里使用子查询?(分数:2.50)A.select_list B.table C.condition

    39、D.expression_1E.expression_2 F.expression_3解析:在所有这些位置都可以使用子查询。 D、F 不正确。不能在查询的 GROUP BY 和 ORDER BY 子句中使用子查询。12.查询将子查询嵌套在它里面。在什么情况下可以有多个子查询?(分数:2.50)A.外查询可以包含内查询。在内查询中不能有另一个查询B.在多行子查询里可以嵌套单行子查询,而不是相反C.外查询可以有多个内查询,但它们不能相互嵌套D.子查询可以相互嵌套,对嵌套深度没有实际限制 解析:子查询可以嵌套到多级。 A、B 和 C 不正确。A 和 C 错误,因为子查询可以嵌套。B 错误,因为返回的

    40、行数与嵌套的子查询无关,只与使用的运算符有关。13.考察下面的语句: SELECT employee_id,last_name FROM employees WHERE salary (SELECT avg(salary) FROM employees); 何时执行子查询?(分数:2.50)A.在外查询之前执行子查询 B.在外查询之后执行子查询C.与外查询同时执行子查询D.子查询为 EMPLOYEES 表中的每一行都要执行一次解析:在运行外查询之前就需要内查询的结果集。 B、C 和 D 不正确。B 和 C 不可能,因为得到子查询的结果之后才能运行父查询。D 错误,因为子查询只运行一次。14.考

    41、察下面的语句: SELECT o.employee_id,o.last_name FROM employees o WHERE o.salary (SELECT avg(i.salary) FROM employees i WHERE i.department_id=o.department_id); 何时执行子查询?(分数:2.50)A.在外查询之前执行子查询B.在外查询之后执行子查询C.与外查询同时执行子查询D.子查询为 EMPLOYEES 表中的每一行都要执行一次 解析:这是关联子查询,它必须为表中的每一行都运行一次。 A、B 和 C 不正确。内查询的结果依赖外查询的值;因此它必须为每一

    42、行都运行一次。15.考察下面的语句: SELECT last_name FROM employees JOIN departments ON employees.department_id=departments.department_id WHERE department_name=“Executive“; 以及这个语句: SELECT last_name FROM employees WHERE department_id IN (SELECT department_id FROM departments WHERE department_name=“Executive“); 关于这两条语

    43、句,下面哪些说法是正确的?(分数:2.50)A.这两条语句生成的结果相同 B.这两条语句生成的结果不同C.第一条语句总是能成功运行;如果有两个部门的 DEPARTMENT_NAME 是Executive,第二条语句会出现错误D.两个语句都会成功运行;即使有两个部门的 DEPARTMENT_NAME 都是Executive 解析:这两个语句产生的结果相同,如果名称重复,它们也不会失败。 B 和 C 错误。B 错误因为语句在功能上是相同的,虽然从语法上看并不相同。C 错误,因为使用的比较运算符 IN 可以处理多行子查询。16.哪些是标量子查询的显著特性?(分数:2.50)A.标量子查询返回一行 B

    44、.标量子查询返回一列 C.不能在父查询的 SELECT 列表中使用标量子查询D.标量子查询不能用作关联子查询解析:标量子查询可以定义为返回一个值的查询。 C 和 D 不正确。C 错误,因为标量子查询是能够在 SELECT 列表中使用的唯一子查询。D 错误,因为标量子查询可以相关联。17.哪些比较运算符不能与多行子查询一起使用?(分数:2.50)A.ALLB.ANYC.IND.NOT INE.以上都能用 解析:ALL、ANY、IN 和 NOT IN 都是多行比较运算符。 A、B、C 和 D 不正确。所有这些都可以使用。18.考察下面的语句: SELECT last_name, (SELECT c

    45、ount(*) FROM departments) FROM employees WHERE salary=(SELECT salary FROM employees); 它有什么错误?(分数:2.50)A.没有错误语句可以运行,没有错误B.语句会失败,因为 SELECT 列表中的子查询引用的表不在 FROM 子句中C.如果条件子查询返回多行,语句就会失败 D.语句会运行,但非常没有效率,因为第二个子查询需要为 EMPLOYEES 表中的每一行都运行一次解析:等于运算符需要单行子查询,第二个子查询可能返回多行。 A、B 和 D 不正确。A 错误因为在所有情况下语句都会失败,除了有零个或者一个员

    46、工这种不可能的情况之外。B 错误,因为这不是问题;内查询和外查询的数据源之间不需要有关联。D 错误,因为子查询只会运行一次;它不是关联子查询。19.下列哪些语句是对等的?(分数:2.50)A.SELECT employee_idFROM employeesWHERE salaryALL(SELECT salaryFROM employeesWHERE department_id=10); B.SELECT employee_idFROM employeesWHERE salary(SELECT min(salary)FROM employeesWHERE department_id=10);

    47、C.SELECT employee_idFROM employeesWHERE Salary NOT=ANY(SELECT salaryFROM employeesWHERE department_id=10);D.SELECT employee_idFROM employees eJOIN departments dON e.department_id=d.department_idWHERE e.salary(SELECT min(salary)FROM employees)AND d.department_id=10;解析:A 和 B 相同。 C 和 D 不正确。C 在逻辑上与 A 和

    48、B 相同,但从语法上说不可能;它会产生错误。D 总是不会返回行,因为它查询薪水低于所有员工的员工。这不是错误,但不会返回任何行。DEPARTMENTS 上的筛选器不相关。20.考察下面的语句,它用来提示输入员工的姓名,然后查找所有与该名员工从事的工作相同的员工: SELECT last_name,employee_id FROM employees WHERE job_id= (SELECT job_id FROM employees WHERE last_name=“ 如果 EMP.EMPNO 列和 EX_EMP.EMP_ID 列都是整数,EMP.HIRED 列是时间戳;EX_EMP.HIR

    49、ED 列和 EX_EMP.FIRED列是日期。这条语句为什么会失败?(分数:2.50)A.因为 EMPNO 列和 EMP_ID 列的名称不同B.因为 EMP.HIRED 列和 EX_EMP,HIRED 列的数据类型不同C.因为第一个查询中有两列,第二个查询中有三列 D.以上都是原因E.查询会成功解析:复合查询中的每个查询都必须返回相同的列数。 A、B、D 和 E 不正确。A 错误,因为这些列可以有不同的名称。B 错误,因为这两列属于相同的数据类型分组,必须这样。因此 D 和 E 也是错误的。25.下列语句的哪一行会让它失败?(分数:2.50)A.select ename,hired from current_staffB.order by ename C.minusD.select ename,hired from current staffE.where deptno=10F.order by ename;解析:不能在复合查询的一个查询中使用 ORDER BY;只能在结尾添加一个 ORDER BY 子句。 A、C、D、E 和 F 都不正确。所有这些行都是合法的。26.考察语句: select ename from emp union all select ename f


    注意事项

    本文(【计算机类职业资格】OCA认证-9及答案解析.doc)为本站会员(花仙子)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开