1、Oracle面试题库SQLdocOracle面试题库-SQL1. ORACLE用来判断列值是否为空的操作符是_A =NULLB IS NULLC AS NULLD NULLIS2 分析以下的 SQL命令SELECT i.id_number, m.id_numberFROM inventory i, manufacturer mWHERE i.manufacturer_id = m.id_numberORDER BY inventory.description;如何修改上述命令使其成功执行()A ORDER BY descriptionB ORDER BY i.descriptionC WHER
2、E inventory.manufacturer_id = m.id_numberORDER BY inventory.descriptionD ORDER BY inventory.description;3. 在客户定单表(CUSTOMER)中有一列为单价(PRICE),写一个SELECT命令显示所有单价在500以上的查语句。A SELECT * FROM CUSTOMER WHERE PRICE500;B SELECT * FROM CUSTOMER WHERE PRICE BETWEEN 500 AND *;C SELECT * FROM CUSTOMER WHERE PRICE LI
3、KE %500%;D SELECT * FROM CUSTOMER WHERE PRICE=500;4. 分析以下SQL 命令:SELECT priceFROM inventoryWHERE price BETWEEN 1 AND 50AND (price IN(55, 30, 95);命令执行后的输出结果是:()A 55B 30C 95D NULL5. 分析以下的SQL 命令:SELECT manufacturer_idFROM inventoryWHERE manufacturer_id LIKE %N%P%O% ESCAPE ;命令执行的返回结果是()A 所有包含NPO的纪录B 所有包含
4、NPO的纪录C 所有包含N%P%O的纪录D 所有包含%NPO%的纪录6. 分析以下的SQL命令:SELECT i.id_number, m.manufacturer_nameFROM inventory i, manufacturer mWHERE i.manufacturer_id(+) = m.id_number;WHERE 子句中的(+)是什么含义?A 将inventory表中不满足条件的记录也查出来B 将i.manufacturer_id+ m.id_numberC将manufacturer表中不满足条件的记录也查出来D 不能这样写,语法错误7. 写一SQL语句实现以下功能,把inve
5、ntory表中的ORDER_DATE 值 23-MAY-00 显示成 01-JAN-00A 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 和TR
6、UNC操作的区别?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答案:concat12.
7、 分析以下的SQL命令:SELECT *FROM productWHERE LOWER(description) = CABLE;命令能否执行?是否有结果返回?为什么?答案:命令可以执行,没有结果返回,因为查询条件中的LOWER把查询列值改为小写,而等号右侧为大写,所以不会有结果返回。13. 在PLAN表中有一列为SPECIES_ID ,该列与SPECIES 表的ID列对应,但后者包含空值,要想在显示结果中包含SPECIES 表的ID列为空值的行的信息,用那种连接条件可以实现?答案:外连接14. 分析以下的 SQL 命令:SELECT i.id_number, m.manufacturer_i
8、dFROM inventory i, inventory mWHERE i.manufacturer_id = m.region_id_number;该命令中使用的连接条件是()连接答案:自连接15 .外连接的符号可以放在连接条件的哪边,可以两边同时使用吗?答案:放在包含空值的一边,不可以两边同时使用16. 如果用等值连接来查询张表内的信息,至少需要几个连接条件?答案:至少需要个连接条件。17. 分析以下的 SQL 命令:SELECT i.id_number, m.id_numberFROM inventory i, manufacturer mWHERE i.manufacturer_id
9、= m.id_numberORDER BY 1;该命令执行结果的排序是按那一列的值排序的?答案:按inventory表的id_number列排序18. 如果在where子句中有两个条件要同时满足,应该用以下哪个逻辑符来连接A.ORB.NOTC.ANDD.NONE答案 c19. 外连接的条件可以放在以下的那一个子句中A.FROMB.WEHREC.SELECTD.HAVINGE.GROUP BYF.ORDER BY答案 B20. 在从两个表中查询数据时,连接条件要放在哪个子句中A.FROMB.WHEREC.SELECTD.HAVINGE.GROUP BY答案 B21 用以下哪个子句来限制分组统计结
10、果信息的显示A.FROMB.WEHREC.SELECTD.HAVINGE.GROUP BYF.ORDER BY答案 D22. 数据库中的 TEACHER 表的结果如下:ID NUMBER(7) PKSALARY 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 teacherGROUP BY subject_id;两个命令的显示结果
11、相同吗?哪个命令显示的结果会多些?答案:不同,命令会返回更多的结果23. 如果想对分组统计的结果信息进行筛选,用where 条件子句能实现吗?如果不行该用什么子句实现?答案:用where子句不能实现,应该用having 子句24. 以下需求中哪个需要用分组函数来实现?A.把ORDER表中的定单时间显示成 DD MON YYYY 格式B.把字符串 JANUARY 28, 2000 转换成日期格式C.显示PRODUCT 表中的COST 列值总量D.把PRODUCT表中的DESCRIPTION列用小写形式显示答案 C25. 用以下的语句查询数据库:SELECT id_number “Part Num
12、ber”, SUM(price * quantity) TOTAL, descriptionFROM inventoryWHERE price 5.00ORDER BY “Part Number”, 3;哪一句会产生错误?A.FROM INVENTORYB.WHERE PRICE 5.00C.ORDER BY “PART NUMBER”, 3;D.SELECT id_number “Part Number”, SUM(price * quantity) TOTAL, description答案 D26. EMPLOYEE 表包含以下的列:EMP_ID NUMBER(9)NAME VARCHAR
13、2(25)BONUS NUMBER(5,2)DEPT_ID NUMBER(9)如果想计算所有具有bonus的职员的bonus平均值,不考虑该列包含空值的那些雇员,用什么功能函数可以实现?答案:使用AV函数可以实现。27. 写出包含 SELECT,FROM ,HAVING ,WHERE,GROUP BY ,ORDER BY子句的书写顺序答案:SELECT FROM WHERE GROUP HAVING ORDER BY28. 分析以下的SQL命令SELECT id_number “Part Number”, SUM(price) “Price”FROM inventoryWHERE price
14、5.00GROUP BY “Part Number”ORDER BY 2;哪一个子句会产生错误?如何修改答案:第四句GROUP BY “Part Number”会产生错误,应改为GROUP BY id_number29. 在单行子查询中,子查询的返回结果为多少,返回行可以吗?答案:只能返回一行,否则会出错。30. 以下操作符中哪个可以用做单行简单查询的操作符A.=B.INC.LIKED.BETWEEN答案 A31. 分析以下的 SQL 命令:SELECT id_numberFROM inventoryWHERE manufacturer_id IN(SELECT manufacturer_id
15、FROM inventoryWHERE price 6.00);该子查询的能否执行,是否有语法错误?答案:没有语法错误,可以执行为32. 分析以下SQL命令:SELECT employee_id, nameFROM employeeWHERE employee_id NOT IN (SELECT employee_idFROM employeeWHERE department_id = 30AND job = CLERK);如果子查询返回空值,结果会是什么样?答案 没有结果返回。33. 如果用户用UPDATE 命令修改了表中的数据值,是否可以恢复回来?答案:如果事务没有提交可以用ROLLBAC
16、K 恢复回来。34用户对某表中的数据做修改操作,还没有提交,此时机器断电,修改结果是否能保存在数据库中?答案:不能,因为非正常结束的事务会被ORACLE 回滚掉35. 以下那些命令可以暗含提交操作?A.GRANTB.UPDATEC.SELECTD.ROLLBACK答案 A36. 那种类型的约束可以自动创建索引?答案:UNIQUE ,PRIMART KEY37 哪中类型的约束只能定义在列级A. CHECKB.UNIQUEC.NOT NULLD.PRIMART KEYE.FOREIGN KEY答案 C38. 可以在以下哪个对象上创建视图? (选择两个)A.VIEWB.QUERYC.TABLED.C
17、OMMANDE.TRANSAction答案 A,C39. 分析以下SQL 命令:CREATE FORCE VIEW parts_vu (company, contact)AS SELECT manufacturer_name, contact_nameFROM inventoryWITH READ ONLY;在 PARTS_VU 视图上可以执行UPDATE操作吗?为什么?可以进行什么操作?答案:不能执行UPDATE操作,因为该视图是只读的,只能进行select (检索)操作40. 表PERSONNEL 的结构如下:ID NUMBER(9)LAST_NAME VARCHAR2(25)FIRST_
18、NAME VARCHAR2(25)MANAGER_ID NUMBER(9)这里, 部门的管理者也看作是雇员.分析以下两个命令:SELECT p.last_name, p.first_name, m.last_name, m.first_nameFROM personnel p, personnel mWHERE m.id = p.manager_id;SELECT p.last_name, p.first_name, m.last_name, m.first_nameFROM personnel p, personnel mWHERE m.manager_id = p.id;两个的执行结果一样
19、吗?答案 一样,但格式不同41. 如果一个表中的数据包含许多空值,是否适合建索引?答案 适合42. 分析以下命令CREATE PUBLIC SYNONYM partsFOR marilyn.inventory;它的作用是什么?为用户marilyn的inventory 对象(不一定是表)建一个同义词或叫别名43分析以下的SQL命令CREATE SEQUENCE line_item_idSTART WITH 10001MAXVALUE 999999999NOCYCLE;请问这个序列NOCYCLE关键字的含义是什么?答案:当序列的值增长到最大值的时候,会从1001开始从新使用44 DEPARTMEN
20、T 表的结构如下:DEPT_ID NUMBER(9)DEPT_NAME VARCHAR2(20)REGION_ID NUMBER(9)REGION_ID 列有一个外键约束,参照REGION 表,用下面的SQL语句修改DEPARTMENT table 表UPDATE departmentSET dept_id = 6546,region_id = 9705WHERE dept_id = 8940;产生以下的错误信息:ORA-02291: integrity constraint (SYS_C23) violated parent key not found错误可能会在那一行?答案:可能在regi
21、on_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 teacherSET s
22、alary = salary * 1.08WHERE subject_id = 011;46ORACLE数据库有哪几种约束类型答案:五种。是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 Mig
23、ration 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 INTERSECTB UNIONC MINUSD 没有53.日期函数是A 分组函数B 单行函数C 聚合函数D 都不是54.SE
24、LECT CHR(66) FROM DUAL的结果是_A ZB SC BD 都不是55._函数返回一个值除以另一个值后的余数A MODB ABSC CEILD 以上都不是56._函数返回列表中第一个非空的表达式A NVLB NVL2C COALESCED 以上都不是57._子句处理分组的结果A WHEREB HAVINGC SELECTD 以上都不是58.什么锁用于锁定表,仅允许其他用户查询表中的行,行不允许插入,更新,或删除行A 共享B 排他C 共享更新D 以上都不是59.使用带有_子句的SELECT命令可以在表的一行或多行上放置排他锁A FOR INSERT OFB FOR UPDATE
25、OFC FOR REFRESHD EXCLUSIVE60. 对象关系模型支持: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和currentvalB nextval和previousv
26、alC cache和nocacheD 以上都不对65.下列有关视图的描述那一个是正确的A 视图时已存储的查询B 视图隐藏了数据的复杂性C 视图就是表D 视图不提供安全性66._是与表关联的可选结构A 视图B 索引C 同义词D 以上都不是67.在下列哪种情况下,索引最有用A 索引列被声明为not nullB 在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_IDB ORDER_IDC STATUSD PRID_ID69 当在表加入一条数据时,如果其中一个字段未指定任何数据,此时该字段会存放什么值A 0B NULLC ”(空字符)D 不确定
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1