oracle数据库选择题(一)

一、单选题

1. 使用Oracle数据库,必须启动哪个服务(   )

A.OracleHOME_NAMETNSListener       B.OracleServiceSID

C.OracleMTSRecoveryService            D.OracleJobSchedulerSID

2. 在Windows操作系统中,Oracle的()服务监听并接受来自客户端应用程序的连接请求。

   A.OracleHOME_NAMETNSListener   B.OracleServiceSID 

C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer

3. 用二维表结构表达实体集的模型是(   )

A.概念模型 B.层次模型 C.网状模型 D.关系模型

4.  Oracle 11g 是基于(     )的

   A.关系型  B.文件系统  C.层次型   D.网络型

5.  (     )代表了数据库中最小粒度的逻辑数据存储层次。

A.盘区  B.表空间  C.数据块  D.数据文件 

6. 你使用下列命令连接数据库:sqlplus scott/[email protected]:1522/orcl.目标数据库是哪一个?(   ) 

A. abc.com   B.tiger   C. orcl   D. scott  

7. 设有一个关系:DEPT(DNO,DNAME,LOC),如果要找出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成WHERE DNAME LIKE ( ) 

A.‘_ _ W _ %’   B.‘_ % W _ _’   C. ‘_ W _ _’   D. ‘_ W _ %’

8. 下列解锁scott账户的命令正确的是()

A、update user scott account unlock;

B、alter user scott account unlock;

C、alter user scott unlock;

9. having  , where , group by 的正确执行顺序是( )

A、having,where,group by 

B、group by,having,where

C、where,having,group by 

D、where ,group by,having

10. 分析下面两个SQL语句,选项中说法正确的有( )

SELECT last_name, salary , hire_date

FROM EMPLOYEES

ORDER BY salary DESC;

 

SELECT last_name, salary , hire_date

FROM EMPLOYEES

ORDER BY 2 DESC;

 

A、两个SQL语句的结果完全相同

B、第二个SQL语句产生语法错误

C、没有必要指定排序方式为desc,因为默认的排序方式是降序排序

D、可以通过为第二个SQL语句的salary列添加列别名来使两个SQL语句得到相同的结果

11. 数据库设计中用关系模型表示实体和实体之间的联系。关系模型的结构是( )。

A、层次结构

B、二维表结构

C、网状结构

D、封装结构

12哪个SQL语句生成计算列SALARY * 12的别名—年薪?( )

A

SELECT ename, salary*12 'Annual Salary'

FROM employees;

B、

SELECT ename, salary*12 "Annual Salary"

FROM employees;

C、

SELECT ename, salary*12 AS Annual Salary

FROM employees;

D、

SELECT ename, salary*12 AS INITCAP("ANNUAL SALARY")

FROM employees

 

13. 并发操作会带来哪些数据不一致性?( )

A、丢失修改、不可重复读、读脏数据、死锁

B、不可重复读、读脏数据、死锁

C、丢失修改、读脏数据、死锁

D、丢失修改、不可重复读、读脏数据

 

14. 对于满足SQL92标准的SQL语句:SELECT foo,count(foo) FROM pokes WHERE foo>10 GROUP BY foo HAVING ORDER BY foo,其执行的顺序应该为( )。

A、FROM->WHERE->GROUP BY->HAVING->SELECT->ORDER BY

B、FROM->GROUP BY->WHERE->HAVING->SELECT->ORDER BY

C、FROM->WHERE->GROUP BY->HAVING->ORDER BY->SELECT

D、FROM->WHERE->ORDER BY->GROUP BY->HAVING->SELECT

15. 使用哪个SELECT语句从系统日期中提取年份并以“1998”格式显示?

A

SELECT TO_CHAR(SYSDATE,'yyyy')

FROM dual;

B、

SELECT TO_DATE(SYSDATE,'yyyy')

FROM dual;

C、

SELECT DECODE(SUBSTR(SYSDATE, 8), 'YYYY')

FROM dual;

D、

SELECT DECODE(SUBSTR(SYSDATE, 8), 'year')

FROM dual;

E、

SELECT TO_CHAR(SUBSTR(SYSDATE, 8,2),'yyyy')

FROM dual;

16. 观察下表(EMP)下列SQLSQL语句正确的是( )



A、

SELECT ENAME,to_date(SYSDATE-HIREDATE,'yyyy-mm-dd') FROM EMP;

B、

SELECT ENAME,to_date(HIREDATE+10,'yyyy-mm-dd') FROM EMP;

C

SELECT ENAME,to_char(HIREDATE-10,'yyyy-mm-dd') FROM EMP;

D、

SELECT ENAME,to_char(SYSDATE-HIREDATE,'yyyy-mm-dd') FROM EMP;

17. 观察下表(EMP),本月老板要在所有员工原有奖金的基础上多发500元的奖金,查询出所有员工姓名以及他的奖金,下列SQL语句能够满足该需求的是( )


A、

SELECT ENAME,COMM+500 FROM EMP;

B、

SELECT ENAME,NVL(COMM,0)+500 FROM EMP;

C、

SELECT ENAME,NVL(COMM+500,0) FROM EMP;

D、

SELECT ENAME,NVL2(COMM,0)+500 FROM EMP;

18. 客表(customers)中有一存储顾客姓名的字段(customerName),现在想显示"欢迎customerName光临小店"的字样,下列SQL语句能够满足该需求的是()

A、

SELECT "欢迎"||customerName||"光临小店" FROM customers;

B、

SELECT '欢迎'||customerName||'光临小店' FROM customers;

C、

SELECT '欢迎'|customerName|'光临小店' FROM customers;

D、

SELECT "欢迎"|customerName|"光临小店'"FROM customers;

19. Which statement shows the maximum salary paid in each job category of each department?(  )

A、Select dept_id,job_cat,max(salary) from employees where salary>max(salary);

B、Select dept_id,job_cat,max(salary) from employees group by dept_id,job_cat;

C、Select dept_id,job_cat,max(salary) from employees group by dept_id;

D、Select dept_id,job_cat,max(salary) from employees group by dept_id,job_cat,salary;

20. 关于右外连接查询的说法不正确的是( )

A、两表进行右外连接查询和左外连接查询查询出的结果都是一样的

B、右外连接查询是以右侧的表为主表

C、右外连接查询可以和左外连接查询相互转换

D、 右外连接查询查询时右表中的记录会全部显示

 

21. 观察employees表的表结构,经理要求你创建一个视图EMP_VU,该视图允许用户通过视图向表中插入数据,选项中符合要求的是()

A、

CREATE VIEW emp_vu AS

SELECT employee_id, emp_name,

department_id

FROM employees

WHERE mgr_id IN (102, 120);

B、

CREATE VIEW emp_vu AS

SELECT employee_id, emp_name, job_id,

department_id

FROM employees

WHERE mgr_id IN (102, 120);

C、

CREATE VIEW emp_vu AS

SELECT department_id, SUM(sal) TOTALSAL

FROM employees

WHERE mgr_id IN (102, 120)

GROUP BY department_id;

D、

CREATE VIEW emp_vu AS

SELECT employee_id, emp_name, job_id,

DISTINCT department_id

FROM employees;

22. 观察customers表的表结构,其中CUSTOMER_ID是表的主键。下列哪个选项能够查询出“Los Angeles”和“San Francisco”的城市地址(city_address),以及每个城市里顾客的数量()

A、

SELECT city_address, COUNT(*)

FROM customers

WHERE city_address IN ('Los Angeles', 'San Francisco');

B

SELECT city_address, COUNT(*)

FROM customers

WHERE city_address IN ('Los Angeles', 'San Francisco')

GROUP BY city_address;

C、

SELECT city_address, COUNT(customer_id)

FROM customers

WHERE city_address IN ('Los Angeles', 'San Francisco')

GROUP BY city_address, customer_id;

D、

SELECT city_address, COUNT(customer_id)

FROM customers

GROUP BY city_address IN ('Los Angeles', 'San Francisco');

23. 执行下列SQL语句的集合, 下列选项正确的是()

CREATE TABLE dept(deptno NUMBER(2),dname VARCHAR2(14),

loc VARCHAR2(13));

ROLLBACK;

DESCRIBE DEPT

A、DESCRIBE DEPT语句显示DEPT表的结构。

B、ROLLBACK语句释放DEPT表占用的存储空间。

C、DESCRIBE DEPT语句返回错误ORA-04043:object DEPT不存在。

D、DESCRIBE DEPT语句仅在ROLLBACK语句之前引入了COMMIT语句时才显示DEPT表的结构。

24. 在PL/SQL代码段的异常处理块中,捕获所有异常的关键词是______。

 A、OTHERS       B、ALL   C、Exception           D、ERRORS

25. 关于关系范式的规范化,下列说法正确的是(   )

A、数据库系统中的关系所属范式越高越好,因为所属范式越高,存储表所占内存开销越小

B、数据库系统中的关系所属范式越低越好

C、一般对表分解到3NF即可

D、不能对表只分解到2NF

26. 关于序列的说法正确的是()

A、一旦创建,序列属于特定模式(schema)。

B、一旦创建,序列链接到特定的表。

C、一旦创建,序列将自动提供给所有用户。

D、只有DBA可以控制某个表使用哪个序列。

E、一旦创建,序列将自动在所有INSERT和UPDATE语句中使用。

27、PL/SQL中,要引用表中字段的数据类型,应使用( )

A. %rowtype

B. %found

C. %type

D. %rowcount

28. 下面哪个SQL命令用来向表中添加列( )

A、MODIFY TABLE TableName ADD COLUMN ColumnName

B、MODIFY TABLE TableName ADD ColumnName

C、ALTER TABLE TableName ADD COLUMN ColumnName

D、ALTER TABLE TableName ADD ColumnName Type

29. 一辆汽车由多个零部件组成,且相同的零部件可适用于不同型号的汽车,则汽车实体集与零部件实体集之间的联系是( )?

A、1 : M

B、1 : 1

C、M : 1

D、M : N

30. 当删除一个用户的操作时,在什么情况下,应该在DROP USER语句中使用CASCADE选项?( ) 

A.这个模式包含了对象

B.这个模式没有包含了对象

C.这个用户目前与数据库连接着 

D.这个用户必须保留但是用户的对象需要删除

31. 要截断(TRUNCATE)其他用户拥有的一个表,需要哪一个权限?()

A.ALTER TABLE B.DROP ANY TABLE C.DELETE ANY TABLE D.TRUNCATE ANY TABLE

 

32. 利用PL/SQL语句将”数据库原理”课程的学分赋值给变量的语句是( )

A、select xuefen into @xuefen from course where cname=’数据库原理’

B、select xuefen from course where cname=’数据库原理’ and xuefen=@xuefen

C、select @xuefen=xuefen from course where cname=’数据库原理’

D、select xuefen=@xuefen from course where cname=’数据库原理’

33. 如下SQL语句中,____可能返回null值。

(1) select count(*) from t1;

(2) select max(col1) from t1;

(3) select concat(‘max=’,max(col1)) from t1;

A、(1)可能,(2)和(3)不可能

B、(2)可能,(1)和(3)不可能

C、(3)可能,(1)和(2)不可能

D、(1)不可能,(2)和(3)可能

34. 下面有关tablespace和datafile之间的关系的描述,说法错误的是?( )

A、一个tablespace可以有一个或多个datafile

B、每个datafile只能在一个tablespace内

C、table中的数据,通过hash算法分布在tablespace中的各个datafile中

D、datafile是逻辑上的概念,tablespace则在物理上储存了数据库的种种

35. 视图定义是(   )

A.一个基表中导出的基表

B.一个基表中导出的虚表

C.一个或几个基表或视图中导出的基表

D.一个或几个基表或视图中导出的虚表

36. 下面有关索引的描述正确的是(  )

A.不可以在多个列上创建复合索引。

B.可以在多个列上创建复合索引。

C.索引列中的数据不能重复出现。

D.索引列中的数据必须是数值型。

37. 如果希望更新表authors中的first_name列为非空,那么可以使用哪个语句?(   )

A.alter table authors add first_name not null

B. alter table authors modify first_name not null

C. alter table authors alter first_name not null

D. alter table authors drop first_name not null

38. 下列哪一个命令可以将一个文件的备份还原到数据库原目录中?(   )

A.RECOVER B.BACKUP C.COPY D.RESTORE

39. 下列哪一个命令可以用来执行不完全恢复?(   )

A.RESTORE DATABASE UNTIL

B.RECOVER DATABASE UNTIL

C.RECOVER DATA UNTIL

D.RESTORE DATA UNTIL

40. 观察下表(EMP)需要查询出奖金(COMM)为空,正确的SQL语句是()
A、

SELECT * FROM EMP WHERE COMM = NULL;

B、

SELECT * FROM EMP WHERE COMM = 0

C、

SELECT * FROM EMP WHERE COMM IS NULL;

D、

SELECT * FROM EMP WHERE COMM IS 0;

 

二、多选题

1、Oracle的数据库由()类型的文件组成 (  )

A、日志文件

B、控制文件

C、数据文件

D、配置文件

2. 在哪种情况下,会用到外连接查询?(请选出两项)

A、要连接的表具有NOT NULL列

B、要连接的表只有匹配的数据

C、要连接的列具有NULL值

D、要连接的表只有不匹配的数据

E、要连接的表具有匹配和不匹配的数据

F、仅当表具有主键 - 外键关系时


3. 关于where和having子句说法正确的有?(请选出两项)

A、WHERE子句可用于限制行和组。

B、WHERE子句只能用于限制行。

C、HAVING子句可用于限制行和组。

D、HAVING子句只能用于限制组。

E、如果查询使用HAVING子句,则不能在查询中使用WHERE子句。

F、HAVING子句不能在子查询中使用。

4. 关于子查询下列叙述正确的有?(请选出三项)

A、单行子查询只能检索一个列和一行

B、单行子查询只能检索一行,但能检索许多列

C、多行子查询可以检索多行、多列

D、多行子查询结果可以被用来作为>”运算符的比较项

E、单行子查询可以使用IN运算符

F、多行子查询结果可以使用“=”来和别的值比较

5. 观察下表(EMP)

经理要求你查询出所有员工的姓名和工资,查询结果按工资降序排序,相同工资的按姓名升序排序,能够完成该需求的是?(请选出三项)

A

SELECT ENAME,SAL FROM EMP ORDER BY 2 DESC,ENAME ASC;

B

SELECT ENAME,SAL FROM EMP ORDER BY SAL DESC,ENAME;

C、

SELECT ENAME,SAL FROM EMP ORDER BY SAL,ENAME ASC;

D、

SELECT ENAME,SAL FROM EMP ORDER BY SAL DESC,ENAME ASC;

6. 观察下表(EMP)

经理要求查询出不在20或30号部门的员工姓名及所在部门,下列能够完成该需求的是?(请选出两项)

A、

SELECT ENAME,DEPTNO FROM EMP WHERE DEPTNO NOT IN(20,30);

B、

SELECT ENAME,DEPTNO FROM EMP WHERE DEPTNO NOT =(20,30);

C

SELECT ENAME,DEPTNO FROM EMP WHERE DEPTNO <>20 AND DEPTNO <>30;

D、

SELECT ENAME,DEPTNO FROM EMP WHERE DEPTNO <>20 OR DEPTNO <>30;

7. 我们需要在employee数据表中查出工号emp_no为29346,24323的记录,可以使用的SQL语句有?(选出正确的两项)

A、SELECT * FROM employee WHERE emp_no=29346 OR emp_no=24323 ;

B、SELECT * FROM employee WHERE emp_no IN(29346,24323);

C、SELECT * FROM employee WHERE emp_no=29346 AND emp_no=24323;

D、SELECT * FROM employee WHERE emp_no  NOT IN(29346,24323)='dl');

8. 下列查询姓张的学生的语句不正确的是?(选出正确的三项)

A、 select * from 表名 where 姓名 = '%张%'

B、 select * from 表名 where 姓名 like '张'

C、 select * from 表名 where 姓名 like '张%'

D、 select * from 表名 where 姓名 = '张' 

9. 数据库设计里,视图(View)可以使得我们为一个或多个数据表定义一个特殊的表现形式,视图在行为上与数据表没啥特别区别,可以使用基本的select,insert,update等命令修改数据,但对于update操作,也有一些限制,下面那些是受限的原因( )

A、初始View定义的Select语句里如果包含了GROUP BY,DISTINCT,LIMIT或HAVING等命令时

B、如果视图里数据来自多张字表时

C、如果视图里缺少主键索引,唯一索引,外键约束条件锁涉及的全部数据列时

D、当Creat View之后又使用Replace View对已存在视图做了更名操作后

10. 观察下表EMP下列能够查询出所做工作是SALESMAN的员工的姓名的SQL语句是?(请选出两项)

 

A

SELECT ENAME FROM EMP WHERE JOB='salesman';

B

SELECT ename FROM EMP WHERE JOB='SALESMAN';

C、

SELECT ename FROM emp WHERE JOB='salesman';

D、

SELECT ENAME FROM emp WHERE JOB='SALESMAN';

11. 下列能将2000以"$2,000.00"格式显示的有?(请选出三项)

A、SELECT TO_CHAR(2000, '$#,###.##') FROM dual; 

B、SELECT TO_CHAR(2000, '$0,000.00')  FROM dual;

C、SELECT TO_CHAR(2000, '$9,999.00') FROM dual;

D、SELECT TO_CHAR(2000, '$9,999.99') FROM dual;

E、SELECT TO_CHAR(2000, '$2,000.00') FROM dual;

F、SELECT TO_CHAR(2000, '$N,NNN.NN') FROM dual;

12. 在Oracle中,下面关于函数描述正确的是

A、SYSDATE函数返回Oracle服务器的日期和时间

B、ROUND数字函数返回指定十进制数最靠近的整数。

C、ADD_MONTHS日期函数返回指定两个月份天数的和

D、SUBSTR函数从字符串指定的位置返回指定长度的子串。

13. 某查询语句运行后返回的结果集为: 1班 72 2班 75则可能的查询语句是:(  )

A、SELECT class, AVG(score) FROM test WHERE class<3

B、SELECT class, AVG(score) FROM test WHERE class<3 GROUP BY class

C、SELECT class, AVG(score) FROM test GROUP BY class HAVING class<3

D、SELECT DISTINCT(class), AVG(score) FROM test WHERE class<3

14. 观察STUDENT表的表结构:

STD_ID     NUMBER(4)

COURSE_ID     VARCHAR2(10)
START_DATE     DATE
END_DATE     DATE

下面聚合函数的使用正确的有?(请选出两项)

A、SUM(start_date)

B、AVG(start_date)

C、COUNT(start_date)

D、AVG(start_date, end_date)

E、MIN(start_date)

F、MAXIMUM(start_date)

15. 哪些字段适合建立索引?( )

A、在select子句中的字段

B、外键字段

C、主键字段

D、在where子句中的字段

猜你喜欢

转载自blog.csdn.net/qq_39404258/article/details/81667130