Oracle 面试题库—SQL
时间:2019-01-05 21:30 来源:未知 作者:IT
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)
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) |