1. ORACLE用来判断列值是否为空的操作符是____ A ==NULL B IS NULL C AS NULL D NULLIS 2 分析以下的 SQL命令 SELECT i.id_number, m.id_number FROM inventory i, manufacturer m WHERE i.manufacturer_id = m.id_number ORDER BY inventory.description; 如何修改上述命令使其成功执行() A ORDER BY description B ORDER BY i.description C WHERE inventory.manufacturer_id = m.id_number ORDER BY inventory.description D ORDER BY inventory.description; 3. 在客户定单表(CUSTOMER)中有一列为单价(PRICE),写一个SELECT命令显示所有单价在500以上的查询语句。 A SELECT * FROM CUSTOMER WHERE PRICE>500; B SELECT * FROM CUSTOMER WHERE PRICE BETWEEN 500 AND *; C SELECT * FROM CUSTOMER WHERE PRICE LIKE ‘%500%’; D SELECT * FROM CUSTOMER WHERE PRICE>=500; 4. 分析以下SQL 命令: SELECT price FROM inventory WHERE price BETWEEN 1 AND 50 AND (price IN(55, 30, 95); 命令执行后的输出结果是:( ) A 55 B 30 C 95 D NULL 5. 分析以下的SQL 命令: SELECT manufacturer_id FROM inventory WHERE manufacturer_id LIKE ‘%N%P%O%’ ESCAPE ”; 命令执行的返回结果是() A 所有包含’NPO’的纪录 B 所有包含’NPO’的纪录 C 所有包含’N%P%O’的纪录 D 所有包含’%NPO%’的纪录 6. 分析以下的SQL命令: SELECT i.id_number, m.manufacturer_name FROM inventory i, manufacturer m WHERE i.manufacturer_id(+) = m.id_number; WHERE 子句中的(+)是什么含义? A 将inventory表中不满足条件的记录也查出来 B 将i.manufacturer_id+ m.id_number C将manufacturer表中不满足条件的记录也查出来 D 不能这样写,语法错误 7. 写一SQL语句实现以下功能,把inventory表中的ORDER_DATE 值 ’23-MAY-00′ 显示成 ’01-JAN-00′ A SELECT ROUND(order_date, ‘YEAR’) FROM inventory; B SELECT TO_DATE(order_date, ‘DD-MM-YY’) FROM inventory; C SELECT TO_CHAR(order_date, ‘DD-MM-YY’) FROM inventory; D 都不对 8.下面的SQL命令显示的结果是什么类型: TO_DATE(’01-JAN-1998′) – TO_DATE(’01-DEC-1996′) A 数值 B 字符串 C 日期 D 出现错误 9. 简述ROUND 和TRUNC 操作的区别? A ROUND在截掉数据时有四舍五入的判断,TRUNC直接按要求截掉没有进位。 B 都是将数据按指定的长度截断 C TRUNC是四舍五入,ROUND是截断 D 都会四舍五入 10. 简述SUBSTR和LENGTH的主要功能。 答案:SUBSTR:用来在一个字符串中求子串 LENGTH:用于求字符串的长度。 11. 分析以下的SQL命令: SELECT CONCAT(UPPER(SUBSTR(location, 1, 3)), dept_number) “Department Location” FROM department; 哪个function 最后执行? a.UPPER 答案:concat 12. 分析以下的SQL命令: SELECT * FROM product WHERE LOWER(description) = ‘CABLE’; 命令能否执行?是否有结果返回?为什么? 答案:命令可以执行,没有结果返回,因为查询条件中的LOWER把查询列值改为小写,而等号右侧为大写,所以不会有结果返回。 13. 在PLAN表中有一列为SPECIES_ID ,该列与SPECIES 表的ID列对应,但后者包含空值,要想在显示结果中包含SPECIES 表的ID列为空值的行的信息,用那种连接条件可以实现? 答案:外连接 14. 分析以下的 SQL 命令: SELECT i.id_number, m.manufacturer_id FROM inventory i, inventory m WHERE i.manufacturer_id = m.region_id_number; 该命令中使用的连接条件是()连接 答案:自连接 15 .外连接的符号可以放在连接条件的哪边,可以两边同时使用吗? 答案:放在包含空值的一边,不可以两边同时使用 16. 如果用等值连接来查询5张表内的信息,至少需要几个连接条件? 答案:至少需要4个连接条件。 17. 分析以下的 SQL 命令: SELECT i.id_number, m.id_number FROM inventory i, manufacturer m WHERE i.manufacturer_id = m.id_number ORDER BY 1; 该命令执行结果的排序是按那一列的值排序的? 答案:按inventory 表的id_number列排序 18. 如果在where子句中有两个条件要同时满足,应该用以下哪个逻辑符来连接 A.OR B.NOT C.AND D.NONE 答案 c 19. 外连接的条件可以放在以下的那一个子句中 A.FROM B.WEHRE C.SELECT D.HAVING E.GROUP BY F.ORDER BY 答案 B 20. 在从两个表中查询数据时,连接条件要放在哪个子句中 A.FROM B.WHERE C.SELECT D.HAVING E.GROUP BY 答案 B 21 用以下哪个子句来限制分组统计结果信息的显示 A.FROM B.WEHRE C.SELECT D.HAVING E.GROUP BY F.ORDER BY 答案 D 22. 数据库中的 TEACHER 表的结果如下: ID NUMBER(7) PK SALARY NUMBER(7,2) SUBJECT_ID NUMBER(7) 至少有两行以上的SUBJECT_ID值是不同的 分析以下的 SQL命令: 1. SELECT ROUND(SUM(salary),-4) FROM teacher; 2. SELECT subject_id, ROUND(SUM(salary),-2) FROM teacher GROUP BY subject_id; 两个命令的显示结果相同吗?哪个命令显示的结果会多些? 答案:不同,命令2会返回更多的结果 23. 如果想对分组统计的结果信息进行筛选,用where 条件子句能实现吗?如果不行该用什么子句实现? 答案:用where子句不能实现,应该用having 子句 24. 以下需求中哪个需要用分组函数来实现? A.把ORDER表中的定单时间显示成 ‘DD MON YYYY’ 格式 B.把字符串 ‘JANUARY 28, 2000’ 转换成日期格式 C.显示PRODUCT 表中的COST 列值总量 D.把PRODUCT表中的DESCRIPTION列用小写形式显示 答案 C 25. 用以下的SQL语句查询数据库: SELECT id_number “Part Number”, SUM(price * quantity) TOTAL, description FROM inventory WHERE price > 5.00 ORDER BY “Part Number”, 3; 哪一句会产生错误? A.FROM INVENTORY B.WHERE PRICE > 5.00 C.ORDER BY “PART NUMBER”, 3; D.SELECT id_number “Part Number”, SUM(price * quantity) TOTAL, description 答案 D 26. EMPLOYEE 表包含以下的列: EMP_ID NUMBER(9) NAME VARCHAR2(25) BONUS NUMBER(5,2) DEPT_ID NUMBER(9) 如果想计算所有具有bonus的职员的bonus平均值,不考虑该列包含空值的那些雇员,用什么功能函数可以实现? 答案:使用AVG函数可以实现。 27. 写出包含 SELECT,FROM ,HAVING ,WHERE,GROUP BY ,ORDER BY子句的书写顺序 答案:SELECT FROM WHERE GROUP HAVING ORDER BY 28. 分析以下的SQL命令 SELECT id_number “Part Number”, SUM(price) “Price” FROM inventory WHERE price > 5.00 GROUP BY “Part Number” ORDER BY 2; 哪一个子句会产生错误?如何修改 答案:第四句GROUP BY “Part Number”会产生错误,应改为GROUP BY id_number 29. 在单行子查询中,子查询的返回结果为多少,返回2行可以吗? 答案:只能返回一行,否则会出错。 30. 以下操作符中哪个可以用做单行简单查询的操作符 A.= B.IN C.LIKE D.BETWEEN 答案 A 31. 分析以下的 SQL 命令: SELECT id_number FROM inventory WHERE manufacturer_id IN (SELECT manufacturer_id FROM inventory WHERE price < 1.00 OR price > 6.00); 该子查询的能否执行,是否有语法错误? 答案:没有语法错误,可以执行为 32. 分析以下SQL命令: SELECT employee_id, name FROM employee WHERE employee_id NOT IN (SELECT employee_id FROM employee WHERE department_id = 30 AND job = ‘CLERK’); 如果子查询返回空值,结果会是什么样? 答案 没有结果返回。 33. 如果用户用UPDATE 命令修改了表中的数据值,是否可以恢复回来? 答案:如果事务没有提交可以用ROLLBACK 恢复回来。 34.用户对某表中的数据做修改操作,还没有提交,此时机器断电,修改结果是否能保存在数据库中? 答案:不能,因为非正常结束的事务会被ORACLE 回滚掉 35. 以下那些命令可以暗含提交操作? A.GRANT B.UPDATE C.SELECT D.ROLLBACK 答案 A 36. 那种类型的约束可以自动创建索引? 答案:UNIQUE ,PRIMART KEY 37 哪中类型的约束只能定义在列级 A. CHECK B.UNIQUE C.NOT NULL D.PRIMART KEY E.FOREIGN KEY 答案 C 38. 可以在以下哪个对象上创建视图? (选择两个) A.VIEW B.QUERY C.TABLE D.COMMAND E.TRANSAction 答案 A,C 39. 分析以下SQL 命令: CREATE FORCE VIEW parts_vu (company, contact) AS SELECT manufacturer_name, contact_name FROM inventory WITH READ ONLY; 在 PARTS_VU 视图上可以执行UPDATE操作吗?为什么?可以进行什么操作? 答案: 不能执行UPDATE操作,因为该视图是只读的,只能进行select (检索)操作 40. 表PERSONNEL 的结构如下: ID NUMBER(9) LAST_NAME VARCHAR2(25) FIRST_NAME VARCHAR2(25) MANAGER_ID NUMBER(9) 这里, 部门的管理者也看作是雇员.. 分析以下两个命令: SELECT p.last_name, p.first_name, m.last_name, m.first_name FROM personnel p, personnel m WHERE m.id = p.manager_id; SELECT p.last_name, p.first_name, m.last_name, m.first_name FROM personnel p, personnel m WHERE m.manager_id = p.id; 两个的执行结果一样吗? 答案 一样,但格式不同 41. 如果一个表中的数据包含许多空值,是否适合建索引? 答案 适合 42. 分析以下命令 CREATE PUBLIC SYNONYM parts FOR marilyn.inventory; 它的作用是什么? 为用户marilyn的inventory 对象(不一定是表)建一个同义词或叫别名 43.分析以下的SQL命令 CREATE SEQUENCE line_item_id START WITH 10001 MAXVALUE 999999999 NOCYCLE; 请问这个序列NOCYCLE关键字的含义是什么? 答案:当序列的值增长到最大值的时候,会从1001开始从新使用 44. DEPARTMENT 表的结构如下: DEPT_ID NUMBER(9) DEPT_NAME VARCHAR2(20) REGION_ID NUMBER(9) REGION_ID 列有一个外键约束,参照REGION 表,用下面的SQL语句修改DEPARTMENT table 表 UPDATE department SET dept_id = 6546, region_id = 9705 WHERE dept_id = 8940; 产生以下的错误信息: ORA-02291: integrity constraint (SYS_C23) violated – parent key not found 错误可能会在那一行? 答案:可能在region_id = 9705这一行。 45.表 TEACHER 的结构如下: Name Null? Type ————————————— ————————- —————————- TEACHER_ID NOT NULL NUMBER(9) NAME VARCHAR2(25) SALARY NUMBER(7,2) SUBJECT_ID NOT NULL NUMBER(3) SUBJECT_DESCRIPTION VARCHAR2(2) 编写一个SQL命令,实现以下要求,给所有的science teachers 增加 8%的工资 The SUBJECT_ID for science teachers 的SUBJECT_ID 值是011. 答案:UPDATE teacher SET salary = salary * 1.08 WHERE subject_id = 011; 46.ORACLE数据库有哪几种约束类型 答案:五种。是PRIMARY KEY,FOREIGN KEY,UNIQUE,CHECK,NOT NULL。 47.在建表时如果希望某列的值,在一定的范围内,应建什么样的约束? 答案:CHECK 约束。 48. RDBMS是下列哪一项的缩写:___ A Relational DataBase Management System(关系数据库管理系统) B Relational DataBase Migration System(关系数据库移植系统) C Relational Data Migration System(关系数据移植系统) D Relational DataBase Manage System(关系数据库管理系统) 49. INSERT 是 A DML语句 B DDL语句 C DCL语句 D DTL语句 50. COUNT(*)函数返回____ A 包括空值和重复值得所有记录 B 不包含空值的纪录 C 带有重复值但无空值得记录 D 都不是 51.____什么操作符将两个查询的结果合并为单个结果 A 算术 B 比较 C 集合 D 以上都不是 52. .____什么操作符之返回两个查询的共有行 A INTERSECT B UNION C MINUS D 没有 53.日期函数是 A 分组函数 B 单行函数 C 聚合函数 D 都不是 54.SELECT CHR(66) FROM DUAL的结果是_____ A Z B S C B D 都不是 55.____函数返回一个值除以另一个值后的余数 A MOD B ABS C CEIL D 以上都不是 56.____函数返回列表中第一个非空的表达式 A NVL B NVL2 C COALESCE D 以上都不是 57.____子句处理分组的结果 A WHERE B HAVING C SELECT D 以上都不是 58.什么锁用于锁定表,仅允许其他用户查询表中的行,行不允许插入,更新,或删除行 A 共享 B 排他 C 共享更新 D 以上都不是 59.使用带有____子句的SELECT命令可以在表的一行或多行上放置排他锁 A FOR INSERT OF B FOR UPDATE OF C FOR REFRESH D EXCLUSIVE 60. 对象关系模型支持: A 面向对象的概念和关系的概念 B 仅支持关系的概念 C 仅面向对象对象的概念 D 以上都不是 61. TRUNCATE TABLE 是用于____: A 删除表结构 B 仅删除记录 C删除结构和记录 D都不是 62.同义词用于下列情况 1 隐藏对象的名称和所有者 2 提供对对象的公共访问 A 两者都对 B 1错 2对 C 两者都错 D 1对 2错 63._____是oracle提供的一个对象,可以生成唯一的连续的整数 A 同义词 B 序列 C 视图 D 没有 64.可以使用____和____伪列来访问序列 A nextval和currentval B nextval和previousval C cache和nocache D 以上都不对 65.下列有关视图的描述那一个是正确的 A 视图时已存储的查询 B 视图隐藏了数据的复杂性 C 视图就是表 D 视图不提供安全性 66._____是与表关联的可选结构 A 视图 B 索引 C 同义词 D 以上都不是 67.在下列哪种情况下,索引最有用 A 索引列被声明为not null B 在where子句中使用了索引列 C 索引列包含许多不同的值 D 定义尽可能多的索引 68.检查下列创建的orders表的SQL语句 CREATE TABLE ORDERS( SER_NO NUMBERUNIQUE, ORDER_ID NUMBER, ORDER_DATE DATE NOT NULL, STATUS VARCHAR2(10) CHECK (STATUS IN (‘CREDIT’,’CASH’)), PROD_ID NUMBER REFERENCES PRODUCTS(PRODUCT_ID), ORD_TOTAL NUMBER, PRIMARY KEY (ORDER_ID,ORDER_DATE) 当执行上述语句时,将自动为那些列创建索引 A SER_ID B ORDER_ID C STATUS D PRID_ID 69 当在表加入一条数据时,如果其中一个字段未指定任何数据,此时该字段会存放什么值 A 0 B NULL C ”(空字符) D 不确定 (责任编辑:IT) |