77范文网 - 专业文章范例文档资料分享平台

Oracle数据库考试试题库(4)

来源:网络收集 时间:1970-01-01 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

D. FROM customers LEFT OUTER JOIN sales USING (cust_id) LEFT OUTER JOIN countries USING (country_id); 54. 哪两个关于子查询描述正确的?( AD ) A. 一个子查询能返回0或多行 B. 只有二个子查询能放在同一层。

C. 一个子查询只能用于SQL查询语句。 D. 子查询可以出现在一个比较操作符的两边

E. 在SELECT的WHERE子句中子查询层是没有限制的。 55. 子查询能在哪里使用?( ABCF )选四项 A. 在SELECT语句的字段名

B. 在SELECT语句的FROM子句 C. 在SELECT语句的 HAVING 子句 D. 在SELECT语句的 GROUP BY 子句 E. 只在在SELECT语句的 WHERE 子句

F. 在所有DML语句里的SELECT的WHERE子句 56. 查看表PRODUCTS结构: name Null Type

PROD_ID NOT NULL NUMBER(4) PROD_NAME VARCHAR2(20) PROD_STATUS VARCHAR2(6) QTY_IN_HAND NUMBER(8,2) UNIT_PRICE NUMBER(10,2)

你想显示总价最高的产品的名称。哪个SQL语句能得到正确的结果?( A ) A. SELECT prod_name FROM products

WHERE (unit_price * qty_in_hand) = (SELECT MAX(unit_price * qty_in_hand) FROM products);

B. SELECT prod_name FROM products

WHERE (unit_price * qty_in_hand) = (SELECT MAX(unit_price * qty_in_hand) FROM products

GROUP BY prod_name); C. SELECT prod_name FROM products

GROUP BY prod_name

HAVING MAX(unit_price * qty_in_hand) = (SELECT MAX(unit_price * qty_in_hand) FROM products

GROUP BY prod_name); D. SELECT prod_name FROM products

WHERE (unit_price * qty_in_hand) = (SELECT MAX(SUM(unit_price * qty_in_hand)) FROM products)

GROUP BY prod_name;

57. 查看表PROMOTIONS的下列数据:

你需要显示所有的促销种类但不包括PROMO_SUBCATEGORY为'discount'的。 下列哪两个SQL语句得到正确的结果?( AD ) A. SELECT promo_category FROM promotions MINUS

SELECT promo_category FROM promotions

WHERE promo_subcategory = 'discount'; B. SELECT promo_category FROM promotions INTERSECT

SELECT promo_category FROM promotions

WHERE promo_subcategory = 'discount'; C. SELECT promo_category FROM promotions MINUS

SELECT promo_category FROM promotions

WHERE promo_subcategory <> 'discount'; D. SELECT promo_category FROM promotions INTERSECT

SELECT promo_category FROM promotions

WHERE promo_subcategory <> 'discount'; 58. 查看下列SQL语句:

SQL> SELECT cust_id, cust_last_name \FROM customers

WHERE country_id = 10 UNION

SELECT cust_id CUST_NO, cust_last_name FROM customers

WHERE country_id = 30;

对于上面的查询哪个ORDER BY子句是有效的?( ACE )选三项 A. ORDER BY 2,1

B. ORDER BY CUST_NO C. ORDER BY 2,cust_id D. ORDER BY \E. ORDER BY \

59. 你想更新表CUSTOMERS的CUST_CREDIT_LIMIT字段为NULL,条件中所有

CUST_INCOME_LEVEL为NULL值的。哪个SQL能完成这个任务?( B ) A. UPDATE customers

SET cust_credit_limit = NULL

WHERE CUST_INCOME_LEVEL = NULL; B. UPDATE customers

SET cust_credit_limit = NULL

WHERE cust_income_level IS NULL; C. UPDATE customers

SET cust_credit_limit = TO_NUMBER(NULL)

WHERE cust_income_level = TO_NUMBER(NULL); D. UPDATE customers

SET cust_credit_limit = TO_NUMBER(' ',9999) WHERE cust_income_level IS NULL;

60. 下面哪三个命令是能让事务结束的?( ACD ) A. COMMIT B. SELECT C. CREATE D. ROLLBACK E. SAVEPOINT

61. 用户在会话中执行下列SQL语句: SQL> CREATE TABLE product (pcode NUMBER(2), pname VARCHAR2(10));

SQL> INSERT INTO product VALUES (1, 'pen'); SQL> INSERT INTO product VALUES (2,'pencil'); SQL> SAVEPOINT a;

SQL> UPDATE product SET pcode = 10 WHERE pcode = 1; SQL> SAVEPOINT b;

SQL> DELETE FROM product WHERE pcode = 2; SQL> COMMIT;

SQL> DELETE FROM product WHERE pcode=10;

哪两个能正确描述用了ROLLBACK TO SAVE POINT a命令后的结果?( AB ) A. rollback产生错误. B. 没有SQL语句回滚.

C. 只有DELETE语句回滚.

D. 只有第二个DELETE语句回滚. E. DELETE和UPDATE都回滚.

62. 要以自身的模式创建私有同义词,用户必须拥有( A )系统权限 A.CREATE PRIVATE SYNONYM B.CREATE PUBLIC SYNONYM C.CREATE SYNONYM

D.CREATE ANY SYNONYM

63. 在Oracle中,关于触发器的描述正确的是?( D ) A、触发器可以删除,但不能禁用 B、触发器只能用于表

C、触发器可以分为行级和语句级

D、触发器是一个对关联表发出select、insert、update或delete语句时触发的存储过程 64. 在Oracle中,事务中使用下列SQL语句不会引起锁定?( A ) A、SELECT B、INSERT C、UPDATE D、DELETE

65. 有关ORACLE存储过程说法正确的是?( BC ) 选二项 A、可以在查询语句中调用储存过程 B、存储过程是一次编译多次使用

C、存储过程通过传出参数的形式对外提供数据传递 D、存储过程中不能调用其他的存储过程 66. 下列说法错误的是?( CD )(选两项) A、在PL/SQL中使用<>表示不等于 B、在PL/SQL中使用!=表示不等于 C、在PL/SQL中使用相等判断使用 == D、在PL/SQL中赋值使用 =

67. 下面是有关系统权限和对象权限的描述,正确的是( D )(选一项)

A、系统权限是针对某个对象的权限,对象权限不与数据库中的某个对象关联 B、系统权限和对象权限都是针对某个对象操作的权限 C、系统权限和对象权限都不与具体的对象关联

D、系统权限不与数据库中的对象关联,对象权限是针对某个对象操作的权限 68. 有关ORACLE数据类型下列说法正确的是 ( B )(选一项) A、%TYPE是取的一个行结构类型

B、%ROWTYPE是取的一个行结构类型

C、VARCHAR2在PL/SQL中和SQL中表示数据的长度一致 D、PL/SQL和SQL中都有逻辑类型

SQL编写题:

EMPLOYEES表结构

1. 请显示EMPLOYEES表的结构。创建一个查询,使其显示每位员工的姓氏、职务

代码、聘用日期和员工编号,并且首先显示员工编号。为HIRE_DATE列提供一个别名STARTDATE。 DESC EMPLOYEES; SQL:

SELECT EMPLOYEE_ID ,LAST_NAME,JOB_ID,HIRE_DATE AS STARTDATE FROM EMPLOYEES;

2. 使其显示薪金不在$5000到$12000这个范围之间的员工的姓氏和薪金

SELECT LAST_NAME,SALARY FROM EMPLOYEES WHERE SALARY<5000 or SALARY>12000

3. 显示在1998年2月20日和1998年5月1日 之间聘用的员工的姓氏、职务标识和

起始日期。按起始日期对查询进行升序排序

SELECT LAST_NAME,JOB_ID,HIRE_DATE FROM EMPLOYEES WHERE HIRE_DATE>'20-2月-98' AND HIRE_DATE<'1-5月-98' ORDER BY HIRE_DATE

4. 使其列出薪金在$5000到$12000之间并且在部门20或部门50中的员工的姓氏和薪

金。分别将列标记为“EMPLOYEE”和“MONTHLY SALARY”

SELECT LAST_NAME AS \WHERE (SALARY>5000 and SALARY<12000) and (DEPARTMENT_ID=20 or DEPARTMENT_ID=50)

5. 显示职务为销售代表或仓库管理员并且薪金不等于$2500、$3500或$7000的所有员

工的姓氏、职务和薪金 SELECT LAST_NAME,JOB_ID,SALARY FROM EMPLOYEES WHERE (JOB_ID='ST_CLERK' or JOB_ID='SA_REP') and (SALARY not in (2500,3500,7000));

6. 编写一个查询,显示姓名为J、A或M开始的所有员工的姓氏(第一个字母大写,所有

其它字母小写)和姓名的长度。给每列一个合适的标签。按员工的姓氏排列结果。 SELECT INITCAP(last_name) \LENGTH(last_name) \FROM employees

WHERE last_name LIKE 'J%' OR last_name LIKE 'M%' OR last_name LIKE 'A%' ORDER BY last_name;

7. 创建一个查询,显示所有员工的姓氏和薪金,将薪金的格式为15个字符,左边加$。将

该列标记为SALARY SELECT last_name,

LPAD(salary, 15, '$') SALARY FROM employees;

8. 显示所有员工的最高薪金、最低薪金、总计薪金和平均薪金。分别将这些列标记为

Maxinmum、Minimum、Sum和Average。将结果舍入到最接近的整数 SQL:

SELECT ROUND(MAX(salary),0) \ROUND(MIN(salary),0) \ROUND(SUM(salary),0) \ROUND(AVG(salary),0) \FROM employees;

9. 显示经理编号以及该经理所管员工的最低薪金。不包括其经理不知是谁的任何员工。不

包括最低薪金未超过$6000的组 SELECT manager_id, MIN(salary) FROM employees

WHERE manager_id IS NOT NULL GROUP BY manager_id

HAVING MIN(salary) > 6000 ORDER BY MIN(salary) DESC;

10. 编写一个查询,以显示赚取佣金的所有的员工的姓氏、部门名称、地点标识以及城市 SELECT e.last_name, d.department_name, d.location_id, l.city FROM employees e, departments d, locations l WHERE e.department_id = d.department_id AND

d.location_id = l.location_id

AND e.commission_pct IS NOT NULL; 11. 创建一个查询,以显示员工的姓氏、部门编号以及该员工在同一部门的工作的所有员工。

为每一列给出合适的标签

SELECT e.department_id department, e.last_name employee, c.last_name colleague

FROM employees e JOIN employees c ON (e.department_id = c.department_id) WHERE e.employee_id <> c.employee_id

ORDER BY e.department_id, e.last_name, c.last_name; 12. 显示King的每个下属员工的姓氏和薪金 SELECT last_name, salary FROM employees

WHERE manager_id = (SELECT employee_id FROM employees

WHERE last_name = 'King' and first_name='Steven');

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Oracle数据库考试试题库(4)在线全文阅读。

Oracle数据库考试试题库(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/297786.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: