一、单选题
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/trigger@abc.com: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子句中的字段