搜档网
当前位置:搜档网 › Oracle数据库考试试题库

Oracle数据库考试试题库

Oracle数据库考试试题库
Oracle数据库考试试题库

1.启动数据库的命令(A )。

open database

2.(C )是启动数据库时用来记录数据文件、联机日志文件的相关信息的二进制文件。

A.数据文件

B.参数文件

C.控制文件

D.归档文件

3.你需要在表SALES里查找一些产品明细,其中PROD_ID列包括字符'_D123'。(B )WHERE

子句条件能得到这些相符产品。

A. WHERE prod_id LIKE '%_D123%' ESCAPE '_'

B. WHERE prod_id LIKE '%\_D123%' ESCAPE '\'

C. WHERE prod_id LIKE '%_D123%' ESCAPE '%_'

D. WHERE prod_id LIKE '%\_D123%' ESCAPE '\_'

4.关于单行函数,哪一个描述是正确的(D )

A. 他们只能接受一个参数。

B. 他们只能嵌套两层。

C. 参数只能是字段值或常量。

D. 他们始终为查找表中的每个行返回一个值。

5.下面哪个SQL语句显示as $1,(ADE )选三项

A. SELECT TO_CHAR,'$0G000D00')

FROM DUAL;

B. SELECT TO_CHAR,'$9,999V99')

FROM DUAL;

C. SELECT TO_CHAR,'$99,999D99')

FROM DUAL;

D. SELECT TO_CHAR,'$99G999D00')

FROM DUAL;

E. SELECT TO_CHAR,'$99G999D99')

FROM DUAL;

6.下列关于ORACLE的to_date函数和to_char函数,描述正确的是(BC )选两项

A. to_char函数是将字符串数据转换为日期数据

B. to_date函数是将字符串数据转换为日期数据

C. to_char函数是将日期数据转换为字符数据

D. to_date函数是将日期数据转换为字符数据

7.在表emp里,计算员工的年薪SAL*12并生成别名Annual Salary。(B )

A. SELECT ename,sal*12, Annual Salary FROM emp;

B. SELECT ename,sal*12 "Annual Salary " FROM emp;

C. SELECT ename,sal*12 AS Annual Salary FROM emp;

D. SELECT ename,sql*12 AS INICTAP("Annual Salary ") FROM emp;

8.查看promotion(促销表),每个促销周期为7天。你的经理要你生成一个报表,提供

每周的促销成本。( D )

A. SELECT promo_name, promo_cost/promo_end_date-promo_begin_date/7 FROM promotions;

B. SELECT promo_name,(promo_cost/promo_end_date-promo_begin_date)/7 FROM promotions;

C. SELECT promo_name, promo_cost/(promo_end_date-promo_begin_date/7) FROM promotions;

D. SELECT promo_name, promo_cost/((promo_end_date-promo_begin_date)/7) FROM promotions;

9.你需要为每个客户的信息额度增加$1000。在输出时,客户的last name列头应为

Name,cust_credit_limit的列头为New Credit Limit。( C )

A. SELECT cust_last_name Name, cust_credit_limit + 1000

"New Credit Limit"

FROM customers;

B. SELECT cust_last_name AS Name, cust_credit_limit + 1000

AS New Credit Limit

FROM customers;

C. SELECT cust_last_name AS "Name", cust_credit_limit + 1000

AS "New Credit Limit"

FROM customers;

D. SELECT INITCAP(cust_last_name) "Name", cust_credit_limit + 1000 INITCAP("NEW CREDIT LIMIT") FROM customers;

10.查看表PRODUCTS。你需要生成一个报表显示如下格式:

CATEGORIES

5MP Digital Photo Camera's category is Photo

Y Box's category is Electronics

Envoy Ambassador's category is Hardware

哪两个查询可以获得需要的输出(CD )

A. SELECT prod_name || q'''s category is ' || prod_category CATEGORIES FROM products;

B. SELECT prod_name || q'['s ]'category is ' || prod_category CATEGORIES FROM products;

C. SELECT prod_name || q'\'s \' || ' category is ' || prod_category CATEGORIES FROM products;

D. SELECT prod_name || q'<'s >' || 'category is ' || prod_category CATEGORIES FROM products;

11.下面查询:SQL> SELECT cust_name AS "NAME", cust_credit_limit/2 AS MIDPOINT,MIDPOINT+100 AS "MAX LOWER LIMIT"

FROM customers;

上面查询在执行时发生错误,这个错误的原因是什么( A )

A. 一个别名不能使用在表达式中。

B. 一个别名NAME没有一个隔开的双引号。

C. MIDPOINT+100是错误的因为CUST_CREDIT_LIMIT包含了NULL值。

D. 为CUST_CREDIT_LIMIT/2表达式取一个别名MIDPOINT应用双引号隔开。

12.你想去生成一个报表显示每个员工从入职以来的总的薪金。

你执行下列查询:

SQL>SELECT ename ' joined on ' hiredate

', the total compensation paid is '

TO_CHAR(ROUND(ROUND(SYSDATE-hiredate)/365) * sal + comm) "COMPENSATION UNTIL DATE"

FROM employees;

输出结果:

哪个说法是正确的( C )

A. 此查询执行错误是因为别名无效的。

B. 此查询能正确执行并得到正确的结果。

C. 此查询能正确执行但不能得到正确结果。

D. 此查询执行错误是因为ROUND函数是无效的。

13.当你执行下列查询:

SQL> select , ,

2 from emp e, dept d

3 where =

4 and substr, 1, 1) = ‘S’;

下列哪个语句是Oracle数据库中可用的ANSI兼容等价语句( A )A.select empno, ename, loc from emp join dept on = where

substr, 1, 1) = ‘S’;

B.select empno, ename, loc from emp, dept on = where

substr, 1, 1) = ‘S’;

C.select empno, ename, loc from emp join dept where = and substr, 1, 1) = ‘S’;

D.select empno, ename, loc from emp left join dept on = and substr, 1, 1) = ‘S’;

14.你要操纵Oracle数据,下列哪个不是SQL命令(B )

A.select * from dual;

B.set define

C.update emp set ename = 6543 where ename = ‘SMITHERS’;

D.create table employees(empid varchar2(10) primary key);

SQL *Plus中发出的下列语句:

SQL> select ceil,

2 floor,

3 round,

4 trunc

5 from dual;

15.下列哪个函数不返回结果-97( B )

A.ceil() B.floor() C.round() D.trunc()

16.查看下面PROMOTIONS表结构:

name Null Type

PROMO_ID NOT NULL NUMBER(6)

PROMO_NAME NOT NULL VARCHAR2(30)

PROMO_CATEGORY NOT NULL VARCHAR2(30)

PROMO_COST NOT NULL NUMBER(10,2

管理层想看到每种促销种类的唯一促销成本。下面哪个查询得到需要的结果( D )

A. SELECT DISTINCT promo_cost, promo_category FROM promotions;

B. SELECT promo_category, DISTINCT promo_cost FROM promotions;

C. SELECT DISTINCT promo_cost, DISTINCT promo_category FROM promotions;

D. SELECT DISTINCT promo_category, promo_cost FROM promotions ORDER BY 1;

17.在Oracle数据库10g/11g里哪三个关于数据类型描述正确的是(ADE )

A. 每个表里只能有一个LONG字段。

B. 一个TIMESTAMP数据类型字段只能存储带秒的时间值。

C. BLOB数据类型字段用于在操作系统文件里存储二进制数据。

D. 可以为一个VARCHAR2数据类型列中指定的最小列宽为1

E. 一个CHAR数据类型列中的值是空格填充到最大定义的列宽

18.查看下面表EMP_DETAILS结构:

name NULL TYPE

EMP_ID NOT NULL NUMBER

EMP_NAME NOT NULL VARCHAR2 (40)

EMP_IMAGE LONG

19.哪两个SQL语句在表EMP_DETAILS执行是正确的(BC )

A. 一个EMP_IMAGE字段能包含在GROUY BY子句。

B. 一个EMP_IMAGE字段不能包含在ORDER BY子句。

C. 你不能在表中增加新的LONG字段。

D. 您可以更改表,包括对EMP_IMAGE列的NOT NULL约束。

20.检查下列表结构:

name Null Type

TRANS_ID NOT NULL NUMBER(6)

CUST_NAME NOT NULL VARCHAR2(20)

CUST_STATUS NOT NULL CHAR

TRANS_DATE NOT NULL DATE

TRANS_VALIDITY VARCHAR2

CUST_CREDIT_LIMIT NUMBER

在上面的表结构中创建和存储中哪些说法是正确的(BC )选二项

A. CUST_STATUS列将给出错误。

B. TRANS_VALIDITY列将给出错误。

C. CUST_STATUS列能存储一个字符。

D. CUST_CREDIT_LIMIT列不能存储有小数位的值。

E. TRANS_VALIDITY列最大长度为一个字符。

F. TRANS_DATE列能存储天、月、世纪、年、小时、分、秒和秒的小数部分。

21.查看下面表TRANSACTIONS结构:

name Null Type

TRANS_ID NOT NULL NUMBER(6)

CUST_NAME NOT NULL VARCHAR2(20)

CUST_STATUS NOT NULL VARCHAR2

TRANS_DATE NOT NULL DATE

TRANS_VALIDITY INTERVAL DAY TO SECOND

CUST_CREDIT_VALUE NUMBER(10)

22.在上面的表结构中创建和存储中哪些说法是正确的(BC )选二项

A. TRANS_DATE列只允许存储格式为dd-mon-yyyy的日期。

B. CUST_CREDIT_VALUE列允许存储正负整数。

C. TRANS_VALIDITY列允许存储日、小时、分和秒间隔时间。

D. CUST_STATUS列允许存储最大为4000字符。

23.下列哪个CREATE TABLE语法是有效的(A )

A. CREATE TABLE emp9$# (emp_no NUMBER (4));

B. CREATE TABLE 9emp$# (emp_no NUMBER(4));

C. CREATE TABLE emp*123 (emp_no NUMBER(4));

D. CREATE TABLE emp9$# (emp_no NUMBER(4), date DATE);

24.哪两个关于约束正确的说法(BD )选二项

A. 外键不能包含NULL值。

B. 一个有UNIQUE约束的字段能包含NULL值。

C. 约束是只对一个表上的INSERT操作执行。

D. 约束能被禁用即使约束字段包含数据。

E. 所有的约束可以在列级定义,也可以在表级别定义。

25.评估下列CREATE TABLE命令:

CREATE TABLE orders

(ord_no NUMBER(2) CONSTRAINT ord_pk PRIMARY KEY,

ord_date DATE,

cust_id NUMBER(4));

CREATE TABLE ord_items

(ord_no NUMBER(2),

qty NUMBER(3) CHECK (qty BETWEEN 100 AND 200),

expiry_date date CHECK (expiry_date > SYSDATE),

CONSTRAINT it_pk PRIMARY KEY (ord_no,item_no),

CONSTRAINT ord_fk FOREIGN KEY(ord_no) REFERENCES orders(ord_no));当执行上述命令时失败,原因是什么( A )

A. SYSDATE不能用于CHECK约束。

B. BETWEEN子句不能用于CHECK约束。

C. CHECK约束不能放在具有DATE数据类型的列。

D. ORD_NO和ITEM_NO不能用于复合主键因为ORD_NO也是外键。

26.评估下列SQL命名:

SQL>CREATE SEQUENCE ord_seq

INCREMENT BY 10

START WITH 120

MAXVALUE 9999

NOCYCLE;

SQL>CREATE TABLE ord_items

(ord_no NUMBER(4)DEFAULT NOT NULL,

item_no NUMBER(3),

qty NUMBER(3) CHECK (qty BETWEEN 100 AND 200),

expiry_date date CHECK (expiry_date > SYSDATE),

CONSTRAINT it_pk PRIMARY KEY (ord_no,item_no),

CONSTRAINT ord_fk FOREIGN KEY(ord_no) REFERENCES orders(ord_no));上述命令建立表失败,哪两个SQL语法失败(AC )

A. 你在CHECK约束的条件下不能使用SYSDATE。

B. 你在CHECK约束条件下不能使用BETWEEN。

C. 你不能使用NEXTVAL序列值作为列的DEFAULT值。

D. ORD_NO和ITEM_NO不能用于复合主键因为ORD_NO也是外键。

27.哪个CREATE TABLE语法是有效的( D )

A. CREATE TABLE ord_details

(ord_no NUMBER(2) PRIMARY KEY,

item_no NUMBER(3) PRIMARY KEY,

ord_date DATE NOT NULL);

B. CREATE TABLE ord_details

(ord_no NUMBER(2) UNIQUE, NOT NULL,

item_no NUMBER(3),

ord_date DATE DEFAULT SYSDATE NOT NULL);

C. CREATE TABLE ord_details

(ord_no NUMBER(2) ,

item_no NUMBER(3),

ord_date DATE DEFAULT NOT NULL,

CONSTRAINT ord_uq UNIQUE (ord_no),

CONSTRAINT ord_pk PRIMARY KEY (ord_no));

D. CREATE TABLE ord_details

item_no NUMBER(3),

ord_date DATE DEFAULT SYSDATE NOT NULL,

CONSTRAINT ord_pk PRIMARY KEY (ord_no, item_no));

28.你用下列命令删除PRODUCTS表:

SQL>DROP TABLE products;

下列哪三个说法正确的(ABD )

A. 表的结构及所有数据都删除。

B. 在会话中未提交的事务被提交。

C. 表对应的所有的索引将保留但他们变为无效。

D. 所有的视图和同义词将保留但他们变为无效。

E. 所有的数据被删除但是表结构将保留。

29.检查下列CREATE SEQUENCE语法:

CREATE SEQUENCE seq1

START WITH 100

INCREMENT BY 10

MAXVALUE 200

CYCLE

NOCACHE;

当SEQ1序列生成到最大值为200。你执行下列SQL语法:

SELECT FROM dual;

此SELECT语法显示什么( A )

A. 1

B. 10

C. 100

D. 出现错误

30.下面哪两个关于索引说法正确(AD )

A. 他们可以建立在表和聚簇上。

B. 他们可以建立在表上和简单视图上。

C. 你可以使用相同的列创建唯一索引。

D. 如果你指定相同列的不同组合可以建立多个索引。

31.检查下列SQL语法:

用PRODUCTS表,你需要生成名字,当前价格列表,及打折扣25%后小于$10的所有的这些产品。

SQL>SELECT prod_name, prod_list_price,

prod_list_price - (prod_list_price * .25) "DISCOUNTED_PRICE"

FROM products

WHERE discounted_price < 10;

此查询执行时发生一个错误。此错误的原因是什么( C )

A. 括号应包含整个表达式。

B. 双引号应该从列别名被删除。

C. 在WHERE子句的表达式应被替换。

D. 列别名应为大写且在WHERE子句中用双引号括起来。

32.查看表PROMOTIONS表,PROMO_BEGIN_DATE是存储默认的日期,格式为dd-mon-rr.

你需要查看一个报表包括表promos 所有的name,cost,start date。

你能用哪个语法显示下列内容( D )

A. SELECT promo_name, promo_cost, promo_begin_date

FROM promotions

WHERE promo_category = 'post' AND promo_begin_date < '01-01-00';

B. SELECT promo_name, promo_cost, promo_begin_date

FROM promotions

WHERE promo_cost LIKE 'post%' AND promo_begin_date < '01-01-2000';

C. SELECT promo_name, promo_cost, promo_begin_date

FROM promotions

WHERE promo_category LIKE 'P%' AND promo_begin_date < '1-JANUARY-00';

D. SELECT promo_name, promo_cost, promo_begin_date

FROM promotions

WHERE promo_category LIKE '%post%' AND promo_begin_date < '1-JAN-00';

33.查看PART_CODE字段包括下列内容:

PART_CODE

---------------------

A%_WQ123

A%BWQ123

AB_WQ123

检查下列查询:

SQL> SELECT part_code FROM spares WHERE part_code LIKE '%\%_WQ12%' ESCAPE '\';哪个语句的输入是正确的( D )

A. 此语句错误.

B. 此语句显示所有的值.

C. 此语句只显示A%_WQ123 and AB_WQ123 .

D. 此语句只显示A%_WQ123 and A%BWQ123 .

E. 此语句只显示A%BWQ123 and AB_WQ123.

34.查看PROMOTIONS表结构,你需要生成符合

1. 促销名不能以'T'或'N'开头。

2. 促销成本应大于$2000。

3. 促销结束时间大于2001年1月1日。

哪个WHERE子句能得到正确的结果( C )

A. WHERE promo_name NOT LIKE 'T%' OR promo_name NOT LIKE 'N%'

AND promo_cost > 20000 AND promo_end_date > '1-JAN-01'

B. WHERE (promo_name NOT LIKE 'T%' AND promo_name NOT LIKE 'N%')

OR promo_cost > 20000 OR promo_end_date > '1-JAN-01'

C. WHERE promo_name NOT LIKE 'T%' AND promo_name NOT LIKE 'N%'

AND promo_cost > 20000 AND promo_end_date > '1-JAN-01'

D. WHERE (promo_name NOT LIKE '%T%' OR promo_name NOT LIKE '%N%')

AND(promo_cost > 20000 AND promo_end_date > '1-JAN-01')

35.查看表PROMOTIONS中的PROMO_CATEGORY 和PROMO_COST字段,检查下列查询语

句:

SQL>SELECT DISTINCT promo_category to_char(promo_cost)"code"

FROM promotions

ORDER BY code;

SQL>SELECT DISTINCT promo_category promo_cost "code"

FROM promotions

ORDER BY 1;

上述SQL语句说法是正确的是( B )

A. 只有第一个查询执行成功.

B. 只有第二个查询执行成功.

C. 两个查询执行成功但得到不同的结果。but give different results.

D. 两个查询执行成功但得到相同的结果.

36.查看表CUSTOMERS,你需要生成一个报表显示客户的明细并按城市降序排序和收入水

平由高到底排序。

哪个查询能完成这个任务( A )

A. SELECT cust_city, cust_income_level, cust_last_name

FROM customers

ORDER BY cust_city desc, cust_income_level DESC ;

B. SELECT cust_city, cust_income_level, cust_last_name

FROM customers

ORDER BY cust_income_level desc, cust_city DESC;

C. SELECT cust_city, cust_income_level, cust_last_name

FROM customers

ORDER BY (cust_city, cust_income_level) DESC;

D. SELECT cust_city, cust_income_level, cust_last_name

FROM customers

ORDER BY cust_city, cust_income_level DESC;

37.哪些任务能用SQL函数完成(ABC )选三项

A. 显示非默认格式的日期

B. 查找字符串的个数

C. 用指定的字符串替换表达式的字符串

D. 两个以上的列或表达式组合成在一个列并输出

38.在表PRODUCTS中有下列数据:

PROD_ID PROD_LIST_PRICE

---------------------------------------------

-123456

你执行下列查询:

SQL> SELECT RPAD(( ROUND(prod_list_price)), 10,'*')

FROM products

WHERE prod_id = 123456;

输出的结果正确的是( A )

A. 152526 ****

B. **

C. 152525** **

D. an error message

39.在表CUSTOMER中你需要显示first name中包括'e'字符且最后第二个字符是'a'的所有的

客户。

下列哪个能得到需要的结果( A )

A. SELECT cust_first_name

FROM customers

WHERE INSTR(cust_first_name, 'e')<>0 AND

SUBSTR(cust_first_name, -2, 1)='a';

B. SELECT cust_first_name

FROM customers

WHERE INSTR(cust_first_name, 'e')<>'' AND

SUBSTR(cust_first_name, -2, 1)='a';

C. SELECT cust_first_name

FROM customers

WHERE INSTR(cust_first_name, 'e')IS NOT NULL AND

SUBSTR(cust_first_name, 1,-2)='a';

D. SELECT cust_first_name

FROM customers

WHERE INSTR(cust_first_name, 'e')<>0 AND

SUBSTR(cust_first_name, LENGTH(cust_first_name),-2)='a';

40.检查下列查询:

SQL> SELECT INITCAP(cust_first_name || ' ' ||

UPPER(SUBSTR(cust_city,-LENGTH(cust_city),2)))

FROM customers

WHERE cust_first_name = 'ABIGAIL';

哪个输出是正确的( B )

A. Abigail PA

B. Abigail Pa

C. Abigail IS

D. an error message

41.查看下列查询:

SQL> SELECT TRUNC(ROUND,-1),-1) FROM DUAL;

哪个输出是正确的( C )

A. 16

B. 100

C. 160

D. 200

E. 150

42.查看表CUSTOMER的CUST_NAME字段的值:

CUST_NAME

------------------------

Renske Ladwig

Jason Mallin

Samuel McCain

Allan MCEwen

Irene Mikkilineni

Julia Nayer

你需要显示的客户,其中第二名称以“M c”或“MC ”。

哪个查询能得到正确的结果( B )

A. SELECT SUBSTR(cust_name, INSTR(cust_name,' ')+1)

FROM customers

WHERE INITCAP(SUBSTR(cust_name, INSTR(cust_name,' ')+1))='Mc';

B. SELECT SUBSTR(cust_name, INSTR(cust_name,' ')+1)

FROM customers

WHERE INITCAP(SUBSTR(cust_name, INSTR(cust_name,' ')+1)) LIKE 'Mc%';

C. SELECT SUBSTR(cust_name, INSTR(cust_name,' ')+1)

FROM customers

WHERE SUBSTR(cust_name, INSTR(cust_name,' ')+1) LIKE INITCAP('MC%');

D. SELECT SUBSTR(cust_name, INSTR(cust_name,' ')+1)

FROM customers

WHERE INITCAP(SUBSTR(cust_name, INSTR(cust_name,' ')+1)) = INITCAP('MC%');

43.查看表CUST_TRANS的结构和数据:

CUST_TRANS

-------------------------

Name Null Type

CUSTNO NOT NULL CHAR(2)

TRANSDATE DATE

TRANSAMT NUMBER(6,2)

CUSTNO TRANSDATE TRANSAMT

----------------------------------------

11 01-JAN-07 1000

22 01-FEB-07 2000

33 01-MAR-07 3000

日期存储的默认格式为dd-mon-rr。

哪个SQL语句能执行成功(ACD )选三项

A. SELECT transdate + '10' FROM cust_trans;

B. SELECT * FROM cust_trans WHERE transdate = '01-01-07';

C. SELECT transamt FROM cust_trans WHERE custno > '11';

D. SELECT * FROM cust_trans WHERE transdate='01-JANUARY-07';

E. SELECT custno + 'A' FROM cust_trans WHERE transamt > 2000;

44.你需要计算从2007年1月1日至今天的天数

日期的默认存储格式为dd-mon-rr。

下列哪两个SQL能得到正确的结果(BC )选二项

A. SELECT SYSDATE - '01-JAN-2007' FROM DUAL;

B. SELECT SYSDATE - TO_DATE('01/JANUARY/2007') FROM DUAL;

C. SELECT SYSDATE - TO_DATE('01-JANUARY-2007') FROM DUAL;

D. SELECT TO_CHAR(SYSDATE, 'DD-MON-YYYY') - '01-JAN-2007' FROM DUAL;

E. SELECT TO_DATE(SYSDATE, 'DD/MONTH/YYYY') - '01/JANUARY/2007' FROM DUAL;

45.下列哪两个SQL语句能执行成功(AB )

A. UPDATE promotions

SET promo_cost = promo_cost+ 100

WHERE TO_CHAR(promo_end_date, 'yyyy') > '2000';

B. SELECT promo_begin_date

FROM promotions

WHERE TO_CHAR(promo_begin_date,'mon dd yy')='jul 01 98';

C. UPDATE promotions

SET promo_cost = promo_cost+ 100

WHERE promo_end_date > TO_DATE(SUBSTR('01-JAN-2000',8));

D. SELECT TO_CHAR(promo_begin_date,'dd/month')

FROM promotions

WHERE promo_begin_date IN (TO_DATE('JUN 01 98'), TO_DATE('JUL 01 98'));

46.查看表PROGRAMS结构:

name Null Type

PROG_ID NOT NULL NUMBER(3)

PROG_COST NUMBER(8,2)

START_DATE NOT NULL DATE

END_DATE DATE

下列哪两个SQL语句能执行成功(AD)

A. SELECT NVL(ADD_MONTHS(END_DATE,1),SYSDATE)

FROM programs;

B. SELECT TO_DATE(NVL(SYSDATE-END_DATE,SYSDATE))

FROM programs;

C. SELECT NVL(MONTHS_BETWEEN(start_date,end_date),'Ongoing')

FROM programs;

D. SELECT NVL(TO_CHAR(MONTHS_BETWEEN(start_date,end_date)),'Ongoing') FROM programs;

47.查看表INVOICE结构:

name Null Type

INV_NO NOT NULL NUMBER(3)

INV_DATE DATE

INV_AMT NUMBER(10,2)

下列哪两个SQL语句能执行成功(AC )

A. SELECT inv_no,NVL2(inv_date,'Pending','Incomplete')

FROM invoice;

B. SELECT inv_no,NVL2(inv_amt,inv_date,'Not Available')

FROM invoice;

C. SELECT inv_no,NVL2(inv_date,sysdate-inv_date,sysdate)

FROM invoice;

D. SELECT inv_no,NVL2(inv_amt,inv_amt*.25,'Not Available')

FROM invoice;

48.查看表PRODUCTS的LIST_PRICE和MIN_PRICE字段:

LIST_PRICE MIN_PRICE

-------------------------------------

10000 8000

20000

30000 30000

哪两个表达式能得到一样的结果(BD )

A. NVL(NULLIF(list_price, min_price), 0)

B. NVL(COALESCE(list_price, min_price), 0)

C. NVL2(COALESCE(list_price, min_price), min_price, 0)

D. COALESCE(NVL2(list_price, list_price, min_price), 0)

49.查看表INVOICE的结果:

哪两个SQL语句能执行成功(BD )

A. SELECT AVG(inv_date )

FROM invoice;

B. SELECT MAX(inv_date),MIN(cust_id)

FROM invoice;

C. SELECT MAX(AVG(SYSDATE - inv_date))

FROM invoice;

D. SELECT AVG( inv_date - SYSDATE), AVG(inv_amt)

FROM invoice;

50.查看表MARKS结构:

name Null Type

-----------------------------------------------------------

STUDENT_ID NOT NULL VARCHAR2(4)

STUDENT_NAME VARCHAR2(25)

SUBJECT1 NUMBER(3)

SUBJECT2 NUMBER(3)

SUBJECT3 NUMBER(3)

哪两个SQL语句能执行成功(CD )

A. SELECT student_name,subject1

FROM marks

WHERE subject1 > AVG(subject1);

B. SELECT student_name,SUM(subject1)

FROM marks

WHERE student_name LIKE 'R%';

C. SELECT SUM(subject1+subject2+subject3)

FROM marks

WHERE student_name IS NULL;

D. SELECT SUM(DISTINCT NVL(subject1,0)), MAX(subject1)

FROM marks

WHERE subject1 > subject2;

51.查看表PROMOTIONS结构,检查下列SQL语句:

SQL>SELECT promo_category, AVG(promo_cost) Avg_Cost, AVG(promo_cost)*.25 Avg_Overhead

FROM promotions

WHERE UPPER(promo_category) IN ('TV', 'INTERNET','POST')

GROUP BY Avg_Cost

ORDER BY Avg_Overhead;

此SQL查询在执行时会生成一个错误。哪个是原因导致这个错误( C )

A. WHERE

B. SELECT

C. GROUP BY

D. ORDER BY

52.查看表CUSTOMERS的数据:

CUSTNO CUSTNAME CITY

------------------------------------------------

1 KING SEATTLE

2 GREEN BOSTON

3 KOCHAR SEATTLE

4 SMITH NEW YORK

你想要显示多个客户的相关详细信息的所有城市,查看下列查询:

SQL>SELECT ,

FROM Customers c1 __________________ Customers c2

ON = AND <>;

哪两个JOIN选项能得到正确的输出(AE )

A. JOIN

B. NATURAL JOIN

C. LEFT OUTER JOIN

D. FULL OUTER JOIN

E. RIGHT OUTER JOIN

53.查看表CUSTOMERS, SALES, 和COUNTRIES,你需要生成一个报表用来显示所有的城市

名及相关的所有客户(如果有)和销售明细(如果有)。

哪个FROM子句能得到需要的结果( C )

A. FROM sales JOIN customers USING (cust_id)

FULL OUTER JOIN countries USING (country_id);

B. FROM sales JOIN customers USING (cust_id)

RIGHT OUTER JOIN countries USING (country_id);

C. FROM customers LEFT OUTER JOIN sales USING (cust_id)

RIGHT OUTER JOIN countries USING (country_id);

D. FROM customers LEFT OUTER JOIN sales USING (cust_id)

LEFT OUTER JOIN countries USING (country_id);

54.哪两个关于子查询描述正确的(AD )

A. 一个子查询能返回0或多行

B. 只有二个子查询能放在同一层。

C. 一个子查询只能用于SQL查询语句。

D. 子查询可以出现在一个比较操作符的两边

E. 在SELECT的WHERE子句中子查询层是没有限制的。

55.子查询能在哪里使用(ABCF )选四项

A. 在SELECT语句的字段名

B. 在SELECT语句的FROM子句

C. 在SELECT语句的HAVING 子句

D. 在SELECT语句的GROUP BY 子句

E. 只在在SELECT语句的WHERE 子句

F. 在所有DML语句里的SELECT的WHERE子句

56.查看表PRODUCTS结构:

name Null Type

PROD_ID NOT NULL NUMBER(4)

PROD_NAME VARCHAR2(20)

PROD_STATUS VARCHAR2(6)

QTY_IN_HAND NUMBER(8,2)

UNIT_PRICE NUMBER(10,2)

你想显示总价最高的产品的名称。哪个SQL语句能得到正确的结果( A )

A. SELECT prod_name

FROM products

WHERE (unit_price * qty_in_hand) = (SELECT MAX(unit_price * qty_in_hand) FROM products); B. SELECT prod_name

FROM products

WHERE (unit_price * qty_in_hand) = (SELECT MAX(unit_price * qty_in_hand) FROM products GROUP BY prod_name);

C. SELECT prod_name

FROM products

GROUP BY prod_name

HAVING MAX(unit_price * qty_in_hand) = (SELECT MAX(unit_price * qty_in_hand) FROM products

GROUP BY prod_name);

D. SELECT prod_name

FROM products

WHERE (unit_price * qty_in_hand) = (SELECT MAX(SUM(unit_price * qty_in_hand)) FROM products)

GROUP BY prod_name;

57.查看表PROMOTIONS的下列数据:

你需要显示所有的促销种类但不包括PROMO_SUBCATEGORY为'discount'的。下列哪两个SQL语句得到正确的结果(AD)

A. SELECT promo_category

FROM promotions

MINUS

SELECT promo_category

FROM promotions

WHERE promo_subcategory = 'discount';

B. SELECT promo_category

FROM promotions

INTERSECT

SELECT promo_category

FROM promotions

WHERE promo_subcategory = 'discount';

C. SELECT promo_category

FROM promotions

MINUS

SELECT promo_category

FROM promotions

WHERE promo_subcategory <> 'discount';

D. SELECT promo_category

FROM promotions

INTERSECT

SELECT promo_category

FROM promotions

WHERE promo_subcategory <> 'discount';

58.查看下列SQL语句:

SQL> SELECT cust_id, cust_last_name "Last Name"

FROM customers

WHERE country_id = 10

UNION

SELECT cust_id CUST_NO, cust_last_name

FROM customers

WHERE country_id = 30;

对于上面的查询哪个ORDER BY子句是有效的(ACE )选三项

A. ORDER BY 2,1

B. ORDER BY CUST_NO

C. ORDER BY 2,cust_id

D. ORDER BY "CUST_NO"

E. ORDER BY "Last Name"

59.你想更新表CUSTOMERS的CUST_CREDIT_LIMIT字段为NULL,条件中所有

CUST_INCOME_LEVEL为NULL值的。哪个SQL能完成这个任务( B )

A. UPDATE customers

SET cust_credit_limit = NULL

WHERE CUST_INCOME_LEVEL = NULL;

B. UPDATE customers

SET cust_credit_limit = NULL

WHERE cust_income_level IS NULL;

C. UPDATE customers

SET cust_credit_limit = TO_NUMBER(NULL)

WHERE cust_income_level = TO_NUMBER(NULL);

D. UPDATE customers

SET cust_credit_limit = TO_NUMBER(' ',9999)

WHERE cust_income_level IS NULL;

60.下面哪三个命令是能让事务结束的(ACD )

A. COMMIT

B. SELECT

C. CREATE

D. ROLLBACK

E. SAVEPOINT

61.用户在会话中执行下列SQL语句:

SQL> CREATE TABLE product

(pcode NUMBER(2),

pname VARCHAR2(10));

SQL> INSERT INTO product VALUES (1, 'pen');

SQL> INSERT INTO product VALUES (2,'pencil');

SQL> SAVEPOINT a;

SQL> UPDATE product SET pcode = 10 WHERE pcode = 1;

SQL> SAVEPOINT b;

SQL> DELETE FROM product WHERE pcode = 2;

SQL> COMMIT;

SQL> DELETE FROM product WHERE pcode=10;

哪两个能正确描述用了ROLLBACK TO SAVE POINT a命令后的结果(AB)

A. rollback产生错误.

B. 没有SQL语句回滚.

C. 只有DELETE语句回滚.

D. 只有第二个DELETE语句回滚.

E. DELETE和UPDATE都回滚.

62.要以自身的模式创建私有同义词,用户必须拥有(A )系统权限

A.CREATE PRIVATE SYNONYM

B.CREATE PUBLIC SYNONYM

C.CREATE SYNONYM

D.CREATE ANY SYNONYM

63.在Oracle中,关于触发器的描述正确的是(D )

A、触发器可以删除,但不能禁用

B、触发器只能用于表

C、触发器可以分为行级和语句级

D、触发器是一个对关联表发出select、insert、update或delete语句时触发的存储过程

64.在Oracle中,事务中使用下列SQL语句不会引起锁定(A )

A、SELECT

B、INSERT

C、UPDATE

D、DELETE

65.有关ORACLE存储过程说法正确的是(BC )选二项

A、可以在查询语句中调用储存过程

B、存储过程是一次编译多次使用

C、存储过程通过传出参数的形式对外提供数据传递

D、存储过程中不能调用其他的存储过程

66.下列说法错误的是(CD )(选两项)

A、在PL/SQL中使用<>表示不等于

B、在PL/SQL中使用!=表示不等于

C、在PL/SQL中使用相等判断使用==

D、在PL/SQL中赋值使用=

67.下面是有关系统权限和对象权限的描述,正确的是( D )(选一项)

A、系统权限是针对某个对象的权限,对象权限不与数据库中的某个对象关联

B、系统权限和对象权限都是针对某个对象操作的权限

C、系统权限和对象权限都不与具体的对象关联

D、系统权限不与数据库中的对象关联,对象权限是针对某个对象操作的权限

68.有关ORACLE数据类型下列说法正确的是( B )(选一项)

A、%TYPE是取的一个行结构类型

B、%ROWTYPE是取的一个行结构类型

C、VARCHAR2在PL/SQL中和SQL中表示数据的长度一致

D、PL/SQL和SQL中都有逻辑类型

SQL编写题:

EMPLOYEES表结构

1.请显示EMPLOYEES表的结构。创建一个查询,使其显示每位员工的姓氏、职务代

码、聘用日期和员工编号,并且首先显示员工编号。为HIRE_DATE列提供一个别名STARTDATE。

DESC EMPLOYEES;

SQL:

SELECT EMPLOYEE_ID ,LAST_NAME,JOB_ID,HIRE_DATE AS STARTDATE FROM EMPLOYEES;

2.使其显示薪金不在$5000到$12000这个范围之间的员工的姓氏和薪金

SELECT LAST_NAME,SALARY FROM EMPLOYEES WHERE SALARY<5000 or SALARY>12000

3.显示在1998年2月20日和1998年5月1日之间聘用的员工的姓氏、职务标识和

起始日期。按起始日期对查询进行升序排序

SELECT LAST_NAME,JOB_ID,HIRE_DATE FROM EMPLOYEES WHERE HIRE_DATE>'20-2月-98' AND HIRE_DATE<'1-5月-98' ORDER BY HIRE_DATE

4.使其列出薪金在$5000到$12000之间并且在部门20或部门50中的员工的姓氏和薪

金。分别将列标记为“E MPLOYEE”和“M ONTHLY S ALARY”

SELECT LAST_NAME AS "Employee",SALARY AS "Monthly Salary" FROM EMPLOYEES WHERE (SALARY>5000 and SALARY<12000) and (DEPARTMENT_ID=20 or DEPARTMENT_ID=50)

5.显示职务为销售代表或仓库管理员并且薪金不等于$2500、$3500或$7000的所有员

工的姓氏、职务和薪金

SELECT LAST_NAME,JOB_ID,SALARY FROM EMPLOYEES WHERE (JOB_ID='ST_CLERK' or JOB_ID='SA_REP') and (SALARY not in (2500,3500,7000));

6.编写一个查询,显示姓名为J、A或M开始的所有员工的姓氏(第一个字母大写,所有

其它字母小写)和姓名的长度。给每列一个合适的标签。按员工的姓氏排列结果。SELECT INITCAP(last_name) "Name",

LENGTH(last_name) "Length"

FROM employees

WHERE last_name LIKE 'J%'

OR last_name LIKE 'M%'

中南大学oracle数据库期末考试试题及答案

A1、以下()内存区不属于SGA。 A.PGA B.日志缓冲区C.数据缓冲区D.共享池 D2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS C3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle就将()表空间分配给用户作为默认表空间。 A.HR B.SCOTT C.SYSTEM D.SYS A4、()服务监听并按受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer B5、()函数通常用来计算累计排名、移动平均数和报表聚合等。 A.汇总B.分析C.分组D.单行 B6、()SQL语句将为计算列SAL*12生成别名Annual Salary A.SELECT ename,sal*12 …Annual Salary? FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; B7、锁用于提供( )。 A.改进的性能

B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 C8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 B9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH C10、使用( )命令可以在已分区表的第一个分区之前添加新分区。 A.添加分区B.截断分区 C.拆分分区D.不能在第一个分区前添加分区 C11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列B.范围C.列表D.复合 C12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE A13、带有错误的视图可使用()选项来创建。 A.FORCE B.WITH CHECK OPTION C.CREATE VIEW WITH ERROR

ORACLE数据库期末考试题目及答案

期末考试卷(卷) 课程名称:数据库考试方式:开卷()闭卷(√) 、本试卷共4 页,请查看试卷中是否有缺页。 2、考试结束后,考生不得将试卷、答题纸带出考场。 1、以下(a )内存区不属于SGA。 A.PGA B.日志缓冲区 C.数据缓冲区 D.共享池 2、d )模式存储数据库中数据字典的表和视图。 (A.DBA B.SCOTT C.SYSTEM D.SYS 3、Oracle 中创建用户时,在若未提及DEFAULT TABLESPACE 关键字,Oracle 就将 c )则(表空间分配给用户作为默认表空间。A.HR B.SCOTT C.SYSTEM D.SYS

4、a )服务监听并按受来自客户端应用程序的连接请求。(A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 5、b )函数通常用来计算累计排名、移动平均数和报表聚合等。(A.汇总B.分析C.分组D.单行 6、b)SQL 语句将为计算列SAL*12 生成别名Annual Salary (A.SELECT ename,sal*12 …Annual Salary? FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; 7、锁用于提供(b )。 A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 8、( c )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 9、带有( b )子句的SELECT 语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH

Oracle数据库试题及答案

Oracle数据库试题 一、选择题 1、段是表空间中一种逻辑存储结构,以下( D )不是ORACLE数据库使用的段类型。(A)索引段(B)临时段(C)回滚段(D)代码段 2、 ORACLE数据库物理结构包括以下三种文件,以下不属于的是( A )。 ?(A)系统文件(B)日志文件(C)数据文件(D)控制文件 3、数据库中有两个用户scott和muuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( C ) (A)select*from scott.wz where wunit is null and rownum<5; (B)select*from myuser.wz where wunit = null and rownum<5; (C) select*from myuser.wz where wunit is null and rownum<6; (D)select*form scott.wz where wunit is null and rownum<6; ?4、若当前日期为’25-5月-06’,以下( D? )表达式能计算出5个月后那一天所在月份的最后一天的日期。 (A)NEXT_DAY(ADD_MONTHS(28-5月-06,5)) (B)NEXT_DAY(MONTHS_BETWEEN(28-5月-06,5)) (C)NEXT_DAY(MONTHS_BETWEEN(’28-5月-06’,5)) (D)NEXT_DAY(ADD_MONTHS(’28-5月-06’,5)) 5、下列叙述中正确的是_C_。 A、数据库是一个独立的系统,不需要操作系统的支持 B、数据库设计是指设计数据库管理系统 C、数据库技术的根本目标是要解决数据共享的问题 D、数据库系统中,数据的物理结构必须与逻辑结构一致 6、SQL语句中修改表结构的命令是 ???C?? ?。 A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE 7、数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是__ A___。 A、DBS包括DB和DBMS B、DBMS包括DB和DBS C、DB包括DBS和DBMS D、DBS就是DB,也就是DBMS 8、要控制两个表中数据的完整性和一致性可以设置"参照完整性",要求这两个表_A___。 A、是同一个数据库中的两个表 B、不同数据库中的两个表 C、两个自由表 D、一个是数据库表另一个是自由表 9、在关系模型中,实现"关系中不允许出现相同的元组"的约束是通过__B_ __。 A、候选键 B、主键 C、外键 D、超键 10、索引字段值不唯一,应该选择的索引类型为___ B__。 A、主索引 B、普通索引 C、候选索引 D、唯一索引 11、从数据库中删除表的命令是___C __。 A、DROP TABLE B、ALTER TABLE C、DELETE TABLE D、USE 12、 DELETE FROM S WHERE 年龄>60语句的功能是___B___。 A、从S表中彻底删除年龄大于60岁的记录 B、S表中年龄大于60岁的记录被加上删除标记

ORACLE试题

ORACLE 选择 B52X0001ORACLE7数据库中,命令lsnrctl start用到的参数文件是:() A、tnsnames.ora B、sqlnet.ora C、listener.ora D、以上都不对 正确答案:C B52X0002在将格式化的文本文件导入ORACLE时我们经常采用的是SQLLOAD命令,请选择正确的写法() A、sqlldr username/password control=data_file B、sqlldr username/password rows=128control=data_file C、sqlldr username/password control=data_file rows=64 D、sqlldr username/password control=data_file.ctl 正确答案:D B52X0003在Oracle维护过程中,第一步应查看数据库管理系统的运行日志,其日值文件名为:() A、error_'SID'.log B、Alert_'SID'.log C、trace_'SID'.log E、logtail_'SID'.log 正确答案:B B52X0004SGA(System Global Area)是ORACLE系统为实例分配的一组共享缓冲存储区,SGA分为几个部分。() A、4 B、5 C、6 D、7 正确答案:A库缓冲区、数据字典缓冲区、数据块高速缓冲区、重做日志缓冲区 B52X0005Oracle逻辑结构可分解为:表空间、数据库块、物理块、分类段、范围。它们之间的大小关系正确的是() A、表空间≥范围≥分类段≥数据库块≥物理块 B、表空间≥范围≥分类段≥物理块≥数据库块 C、表空间≥数据库块≥物理块≥分类段≥范围 D、表空间≥分类段≥范围≥数据库块≥物理块 正确答案:D B52X0006ORACLE中模式为模式对象的集合,为一个数据库用户所占有,模式名为与该用户名同名,下列属于模式对象的有() A、表 B、视图 C、快照 D、用户环境文件

2019-2020学年第一学期《Oracle数据库》期末考试

2019-2020学年第一学期《Oracle数据库》期末考试适用班级:1801,1802,1803,1804 1、手动创建数据库的第一步是() A.启动实例 B.启动SQL*Plus 以SYSDBA身份连接Oracle C.查看系统的实例名 D.创建参数文件 2、创建一个数据库至少需要几个控制文件?() A.一个B.二个C.三个D.无 3、执行CREATE DATABASE命令之前,应该发出的命令是() A.STARTUP INSTANCE B.STARTUP NOMOUNT C.STARTUP MOUNT D.以上都不是 4、DBA使用哪个命令显示当前归档状态?() A.ARCHIVE LOG LIST B.FROM ARCHIVE LOGS C.SELECT * FROM V$THREAD D.SELECT * FROM ARCHIVE_LOG_LIST 5、把多路镜像控制文件存于不同磁盘最大的好处是() A.数据库性能提高 B.防止失败 C.提高归档速度 D.能并发访问提高控制文件的写入速度6、段的集合称为() A.区B.段C.表空间D.数据库 7、数据字典表和视图存储在() A.USERS表空间B.SYSTEM表空间 C.TEMPORARY表空间D.以上三个中任意 8、数据块的哪三个部分合称为块头部?() A.表目录、行目录和行数据 B.标题、表目录、空闲区 C.表目录、行目录、标题 D.块头部、行数据、行头部 9、临时表空间中用于排序的段是何时创建的() A.排序操作开始的时候 B.临时表空间创建的时候 C.当排序操作需要内存操过1KB的时候。 D.上述所有选项。 10、如果未定义临时表空间,哪一个会作为默认的临时表空间?() A.ROLLBACK B.USERS C.INDEX D.SYSTEM 11、Oracle实例是() A.Oracle 内存结构B.Oracle I/O 结构 C.Oracle 后台进程D.以上都是 12、最近使用过的SQL语句存储在() A.共享池B.数据高速缓冲区C.私有全局区D.用户全局区13、Oracle事务提交即() A.数据由DBWR进程写入磁盘文件 B.LGWR进程成功写入日志 C.PMON 进程提交 D.SMON 进程写数据 14、实例启动时数据库所处的状态是() A.MOUNT B.OPEN C.NOMOUNT D.None 15、用于删除约束的命令是哪一个?() 一、单选题(20*2分=40分)

Oracle测试题

一、选择题(40分) 1.Oracle发出下列select语句: SQL> select , , 2 from emp e, dept d 3 where = 4 and substr, 1, 1) = ‘S’; 下列哪个语句是Oracle数据库中可用的ANSI兼容等价语句 A.select empno, ename, loc from emp join dept on = where substr, 1, 1) = ‘S’; B.select empno, ename, loc from emp, dept on = where substr, 1, 1) = ‘S’; C.select empno, ename, loc from emp join dept where = and substr, 1, 1) = ‘S’; D.select empno, ename, loc from emp left join dept on = and substr, 1, 1) = ‘S’; 2.下列哪个选项表示Oracle中select语句的功能 A.可以用select语句改变Oracle中的数据 B.可以用select语句删除Oracle 中的数据 C.可以用select语句和另一个表的内容生成一个表 D.可以用select语句对表截断 3.你要操纵Oracle数据,下列哪个不是SQL命令 A.select * from dual; B.set define C.update emp set ename = 6543 where ename = ‘SMITHERS’; D.create table employees(empid varchar2(10) primary key); 4.你要在Oracle中定义SQL查询。下列哪个数据库对象不能直接从select语句中引用

oracle数据库期末考试试题及复习资料

oracle数据库期末考试试题及答案 A1、以下()内存区不属于SGA。 A.PGA B.日志缓冲区C.数据缓冲区D.共享池 D2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS C3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle就将()表空间分配给用户作为默认表空间。A.HR B.SCOTT C.SYSTEM D.SYS A4、()服务监听并按受来自客户端应用程序的连接请求。A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer B5、()函数通常用来计算累计排名、移动平均数和报表聚合等。A.汇总B.分析C.分组D.单行 B6、()SQL语句将为计算列SAL*12生成别名Annual Salary A.SELECT ename,sal*12 ‘Annual Salary' FROM emp; B.SELECT ename,sal*12 “Annual Salary”FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM

12 / 1 emp; B7、锁用于提供( )。 A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 C8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 B9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH C10、使用( )命令可以在已分区表的第一个分区之前添加新分区。A.添加分区B.截断分区 C.拆分分区D.不能在第一个分区前添加分区 C11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列B.范围C.列表D.复合 C12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE

Oracle数据库试题及答案word版本

O r a c l e数据库试题及 答案

Oracle数据库试题 一、选择题 1、段是表空间中一种逻辑存储结构,以下( D )不是ORACLE数据库使用的段类型。 (A)索引段(B)临时段(C)回滚段(D)代码段 2、 ORACLE数据库物理结构包括以下三种文件,以下不属于的是( A )。(A)系统文件(B)日志文件(C)数据文件(D)控制文件 3、数据库中有两个用户scott和muuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( C ) (A)select*from scott.wz where wunit is null and rownum<5; (B)select*from myuser.wz where wunit = null and rownum<5; (C) select*from myuser.wz where wunit is null and rownum<6; (D)select*form scott.wz where wunit is null and rownum<6; 4、若当前日期为’25-5月-06’,以下( D )表达式能计算出5个月后那一天所在月份的最后一天的日期。 (A)NEXT_DAY(ADD_MONTHS(28-5月-06,5)) (B)NEXT_DAY(MONTHS_BETWEEN(28-5月-06,5)) (C)NEXT_DAY(MONTHS_BETWEEN(’28-5月-06’,5)) (D)NEXT_DAY(ADD_MONTHS(’28-5月-06’,5))

Oracle数据库试题

constraint pk_spj primary key (sno,pno,jno), constraint fk_spj_sno foreign key (sno) references s(sno), constraint fk_spj_pno foreign key (pno) references p(pno), constraint fk_spj_jno foreign key (jno) references j(jno) 实验二游标和函数 1、定义一个游标完成显示所有供应商名。 declare v_sname s.sname%type; cursor cursor_sname is select sname from s; begin for curso in cursor_sname loop dbms_output.put_line(curso.sname); end loop; end; 2、定义、调用一个简单函数:查询返回指定供应商编号的供应商名及其供应零件总数量。create or replace function fun(f_sno in s.sno%type,f_sname out s.sname%type) return number as f_qty number; begin SELECT s.sname,sum(qty) into f_sname,f_qty from s,spj WHERE s.sno=spj.sno GROUP BY s.sname,spj.sno having spj.sno=f_sno; return f_qty; end; declare v_sno s.sno%type:='&sno'; v_sname s.sname%type; v_qty spj.qty%type; begin v_qty:=fun(v_sno,v_sname); dbms_output.put_line(v_sname||v_qty); end; 3、定义一个函数:对于给定的供应商号,判断是否存在,若存在返回0,否则返回-1。写一段程序调用此函数,若供应商号存在则在spj插入一元组。

oracle期末考试试题及答案打印

Oracle期末考试试题及答案 1、以下()内存区不属于SGA。 A.PGAB.日志缓冲区C.数据缓冲区D.共享池 2、()模式存储数据库中数据字典的表和视图。 A.DBAB.SCOTTC.SYSTEMD.SYS 3、在Oracle中创建用户时,若未提及DEFAULTTABLESPACE关键字,则Oracle就将()表空间分配给用户作为默认表空间。 A.HRB.SCOTTC.SYSTEMD.SYS 4、()服务监听并按受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListenerB.OracleServiceSID C.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer 5、()函数通常用来计算累计排名、移动平均数和报表聚合等。 A.汇总B.分析C.分组D.单行 6、()SQL语句将为计算列SAL*12生成别名AnnualSalary A.SELECTename,sal*12‘AnnualSalary’FROMemp; B.SELECTename,sal*12“AnnualSalary”FROMemp; C.SELECTename,sal*12ASAnnualSalaryFROMemp; D.SELECTename,sal*12ASINITCAP(“AnnualSalary”)FROMemp; 7、锁用于提供()。 A.改进的性能B.数据的完整性和一致性 C.可用性和易于维护D.用户安全 8、()锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 9、带有()子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FORINSERTB.FORUPDATE C.FORDELETED.FORREFRESH

Oracle数据库基础题库【含答案】

1、判断题,正确请写写"T",错误请写写"F", 1、oracle数据库系统中,启动数据库的第一步是启动一个数据库实例。( T ) 2、Oracle服务器端的监听程序是驻留在服务器上的单独进程,专门负责响应客户机的连接请求。( F) 3、oracle数据库中实例和数据库是一一对应的(非ORACLE并行服务,非集群)。( T) 4、系统全局区SGA 是针对某一服务器进程而保留的内存区域,它是不可以共享的。( F ) 5、数据库字典视图ALL_***视图只包含当前用户拥有的数据库对象信息。( F ) 8、数据字典中的内容都被保存在SYSTEM表空间中。( T ) 9、HAVING后面的条件中可以有聚集函数,比如SUM(),AVG()等, WHERE 后面的条件中也可以有聚集函数。( F ) 10、"上海西北京" 可以通过like ‘%上海_’查出来。( F ) 11、表空间是oracle 最大的逻辑组成部分。Oracle数据库由一个或多个表空间组成。一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间。( T ) 12、表空间分为永久表空间和临时表空间两种类型。( T ) 13、truncate是DDL操作,不能 rollback。( T ) 14、如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用WHERE语句。( F ) 15、Oracle数据库中字符串和日期必须使用双引号标识。( F ) 16、Oracle数据库中字符串数据是区分大小写的。( T ) 17、Oracle数据库中可以对约束进行禁用,禁用约束可以在执行一些特殊操作时候保证操作能正常进行。( F ) 18、为了节省存储空间,定义表时应该将可能包含NULL值的字段放在字段列表的末尾。( T ) 20、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在结果中,那么这种连接是全外连接。( T ) 21、自然连接是根据两个表中同名的列而进行连接的,当列不同名时,自然连接将失去意义。( T ) 23、PL/SQL代码块声明区可有可无。( T ) 24、隐式游标与显式游标的不同在于显式游标仅仅访问一行,隐式的可以访问多行。( F )

Oracle数据库期末复习知识点整理

基础知识 表3.2 Oracle数据类型

表3.3 XSB的表结构

操作表 创建表 CREATE TABLE [schema.] table_name ( column_namedatatype [DEFAULT expression] [column_constraint][,…n] [,…n] ) [PCTFREE integer] [PCTUSED integer] [INITRANS integer] [MAXTRANS integer] [TABLESPACE tablespace_name] [STORGE storage_clause] [CLUSTER cluster_name(cluster_column,…n)] [ENABLE | DISABLE ] [AS subquery] 【例】使用CRETE TABLE命令为XSCJ数据库建立表XSB,表结构参照表3.3。 打开SQL*Plus工具,以system方案连接数据库,输入以下语句: CREATE TABLE XSB ( XH char(6) NOT NULL PRIMARY KEY, XM char(8) NOT NULL, XB char(2) DEFAULT '1' NOT NULL, CSSJ date NOT NULL, ZY char(12) NULL, ZXF number(2) NULL, BZ varchar2(200) NULL ); 修改表 ALTER TABLE [schema.] table_name [ ADD(column_namedatatype [DEFAULT expression][column_constraint],…n) ] /*增加新列*/ [ MODIFY([ datatype ] [ DEFAULT expression ] [column_constraint],…n) ] /*修改已有列的属性*/ [ STORAGE storage_clause ] *修改存储特征*/ [ DROP drop_clause ] /*删除列或约束条件*/ 【例】使用ALTER TABLE语句修改XSCJ数据库中的表。

oracle期末考试题与答案

1、以下()存区不属于SGA。A A.PGA B.日志缓冲区 C.数据缓冲区 D.共享池 2、()模式存储数据库中数据字典的表和视图。B A.DBA B.SCOTT C.SYSTEM D.SYS 3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字, 则Oracle就将()表空间分配给用户作为默认表空间。C A.HR B.SCOTT C.SYSTEM D.SYS 4、()服务监听并按受来自客户端应用程序的连接请求。A A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 5、()函数通常用来计算累计排名、移动平均数和报表聚合等。B A.汇总 B.分析 C.分组 D.单行 6、()SQL语句将为计算列SAL*12生成别名Annual Salary D A.SELECT ename,sal*12 ‘Annual Salary’ FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; 7、锁用于提供( )。D

A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不 允许插入、更新和删除行。 C A.行共享 B.行排他 C.共享 D.排他 9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。B A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH 10、使用( )命令可以在已分区表的第一个分区之前添加新分区。 A.添加分区 B.截断分区 C.拆分分区 D.不能在第一个分区前添加分区 11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列 B.围 C.列表 D.复合 12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE 13、带有错误的视图可使用()选项来创建。 A.FORCE B.WITH CHECK OPTION

ORACLE数据库习题

1.0RACLE数据库物理结构包括以下三种文件,以下不属于的是() A .系统文件 B.日志文件 C.数据文件 D.控制文件 2?下列哪个命令是用于ORACLE中数据导出的() A.exp B. imp C . in put D . output 3.()是用于控制数据访问的语言。 A.DML B . DDL C . DCL D . DLL 4.NULL表示什么() A . 0 B.空格 C .值D .没有值 5?下面四个语句中哪一个是正确的?() A . SELECT * , ENAME FROM EMP; B . DELETE * FROM EMP; C . SELECT DISTINCT EMPNO ,HIREDATE FROM EMP; D . SELECT ENAME|SAL AS “ namS FROM EMP ; 6?假定有一张表用户表users,其中一身份证字段ID_card。为了维护数据的完整性,在设计数据库时,最好对ID_card字段添加约束,请问应该添加什么约束() A . primary key B . check C . default D . notnull 7?下面哪一个like命令会返回名字象HOTKA的行?() A . where en ame like ‘ _HOT%' B . where ename like ‘ H_T%' C . where ename like ‘ %TKA_' D . where ename like ‘ %TOK%' 8.()操作符只返回由第一个查询选定但是没有被第二个查询选定的行。 A.UNION B.UNION ALL C.IN TERSECT D.MINUS 9 . EMPLOYEES表的结构如下: EMPLOYEE_ID NUMBER PRIMARY KEY FIRST_NAME VARCHAR2(25) LAST_NAME VARCHAR2(25) HIRE_DATE DATE 考虑下面的语句。 1.CREATE table n ew_emp (employee_id NUMBER, name VARCHAR2(30)); 2.IN SERT INTO n ew_emp SELECT employee_id,last_ name from employees; 3.Savepo int s2; 4.DELETE from n ew_emp; 5.ROLLBACK to s2; 6.DELETE from n ew_emp where employee_id=180; 7.UPDATE new_emp set name= ' James'; 8.R0LLBACK to s2;

oracle数据库期末考试试题及答案(一)

一、选择 1 )CBO与RULE的区别,RBO根据规则选择最佳执行路径来运 行查询,CBO根据表统计找到最低成本的访问数据的方法确定执行 计划。使用CBO需要注意: a ) 需要使用提示(Hint) b ) 优化SQL的写法 c ) 选择最有效率的表名顺序 d ) 需要经常对表进行ANALYZE命令进行分析统计 d ) 需要稳定执行计划 2 ) 在Oracle中,一个用户拥有的所有数据库对象统称为()。 a ) 数据库 b ) 模式 c ) 表空间

d ) 实例 3 )在Oracle中,可用于提取日期时间类型特定部分(如年、 月、日、时、分、秒)的函数有()。 a ) DATEPART b ) EXTRACT c ) TO_CHAR d ) TRUNC 4 )在Oracle中,有一个教师表teacher的结构如下:IDNUMBER(5) NAMEVARCHAR2(25) EMAILVARCHAR2(50) 下面哪个语句显示没有Email地址的教师姓名()。a ) SELECTnameFROMteacherWHEREemail=NULL; b ) SELECTnameFROMteacherWHEREemail<>NULL; c SELECTnameFROMteacherWHEREemailISNULL;

) d ) SELECTnameFROMteacherWHEREemailISNOTNULL; 5 )在Oracle数据库的逻辑结构中有以下组件:A表空间B数据块C区D段 这些组件从大到小依次是()。 a ) A→B→C→D b ) A→D→C→B c ) A→C→B→D d ) D→A→C→B 6 )在Windows操作系统中,Oracle的()服务监听并接受来 自客户端应用程序的连接请求。 a ) OracleHOME_NAMETNSListener b ) OracleServiceSID c ) OracleHOME_NAMEAgent

oracle期末考试题及答案

1、以下()内存区不属于SGA。 A.PGA B.日志缓冲区 C.数据缓冲区 D.共享池 2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS 3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字, 则Oracle就将()表空间分配给用户作为默认表空间。 A.HR B.SCOTT C.SYSTEM D.SYS 4、()服务监听并按受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 5、()函数通常用来计算累计排名、移动平均数和报表聚合等。 A.汇总 B.分析 C.分组 D.单行 6、()SQL语句将为计算列SAL*12生成别名Annual Salary A.SELECT ename,sal*12 ‘Annual Salary’ FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; 7、锁用于提供( )。

A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不 允许插入、更新和删除行。 A.行共享 B.行排他 C.共享 D.排他 9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH 10、使用( )命令可以在已分区表的第一个分区之前添加新分区。 A.添加分区 B.截断分区 C.拆分分区 D.不能在第一个分区前添加分区 11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列 B.范围 C.列表 D.复合 12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE 13、带有错误的视图可使用()选项来创建。 A.FORCE B.WITH CHECK OPTION

Mysql-Oracle数据库测试题 -带答案

Oralce mysql 1、当你执行以下查询语句: SELECT empno,ename FROM emp WHERE empno =7782 or empno =7876; 在WHERE语句中,以下哪个操作符可以取代or?[参考答案:A] A、IN B、BETWEEN ……AND... C、<= D、>= 2、PL/SQL块中可以使用下列()命令。(选择两项)[参考答案:B,C] A、TRUNCATE B、DELETE C、SAVEPOINT D、ALTER TABLE 3、Oracle数据库的物理文件不包括[参考答案:D] A、数据文件(.dbf) B、重做日志文件(.log) C、控制文件(.ctl) D、缓存文件

4、哪个命令用来创建一个primary key constraint pk_books 在表BOOKS, 列ISBN上? 请选择一个[参考答案:C] A、create primary key on books(ISBN) B、create constraint pk_books primary key on books(ISBN) C、alter table books add constraint pk_books primary key (ISBN); D、alter table books add primary key (ISBN) 5、下列那个()不是Oracle默认的用户[参考答案:D] A、system B、sys C、scott D、sa 6、当创建过程时,可以实现输出数据的参数有[参考答案:B] A、IN参数 B、OUT参数 C、TEST参数 D、任何参数都不能输出 7、下面的case语句 DECLARE V_sal NUMBER:=1200; V_result NUMBER;

Oracle数据库期末考试

1.企业管理器(Oracle Enterprise Manager),简称OEM。em是企业管理的缩写。 2.SQL*Plus行编辑命令及功能 A[PPEND] text:将文本text的内容附加在当前行的末尾 C[HRNGE]/text/:删除当前行中text指定的内容 CL[EAR] BUFF[ER]:删除SQL缓冲区中的所有命令行 I[INPUT]:在当前行后插入任意数量的命令行 L[IST]:列出所有行 R[UN]:显示并运行缓冲区中当前命令 3.SQL*PLUS文件操作命令及功能 SA V[E] filename:将SQL缓冲区的内容保存到指定的文件夹中,默认的拓展名为 .sql GET filename:将文件的内容调入SQL缓冲区,默认的文件拓展名为.sql STA[RT] filename:指定的命令文件 EXIT:退出 SQL*PLUS 4.在SQL*PLUS中启动或关闭实例 (1)启动实例-OPEN:打开实例和所有文件(数据文件和日志文件)允许多用户存取数据库。-MOUNT:装载实例和打开控制文件,激活某些功能。-NO MOUNT:启动实例,不装载数据库。 (2)关闭实例SHUTDOWN:-NORMA L:正常关闭。(如果有用户登录在数据库中,该命令无法关闭)-IMMEDIATE:立即关闭。- TRASACTIONAL:尽量少影响客户端,避免客户丢失信息。-ABORT:放弃一切事务,立即关闭。 第二章 1.数据库分内部结构、外部结构。 2.内部结构:表空间(TABLE SPACE)、表(TABLE)、约束条件(CONSTRAINT)。 3.表空间:EXAMPLE示例、SYSTEM系统、TEMP临时。 4.段(SEGMENT)由盘区(EXETENT)组成,盘区由数据块(DATA BLOCK)组成。数据块是最小的存储单元。 5.外部结构:数据文件(DATAFILE)、重做日志文件(REDO LOG FILES)、控制文件(CONTROL FILES)。每一个数据库都有一个或多个数据文件,而一个数据文件只能属于一个表空间。一个数据库至少需要两个重做日志文件。Oracle以循环方式向重做日志文件写入。 6.数据库实例(instance)也称作服务器(server)。 7.创建表空间时,会相应地创建数据文件(datafile)以存储数据,数据库与表空间之间存在着一对多的关系,反之也是。 8.SYSTEM数据文件不能删除。 第五章 1.索引按存储方法分类:B*树索引和位图索引。 2.使用SQL命令创建索引:索引的表或簇必须在自己的模式中;必须在要索引的表上具有 INDEX权限;必须具有CREA TE ANY INDEX权限。 3.数据完整性:域完整性(又称列完整性,指定一个数据集对某一个列是否有效和确定是否 允许空值)、实体完整性和参照完整性。

Oracle期末复习题

一、选择题 1.SQL*PLUS在ORACLE数据库系统中的作用,以下叙述正确的是( ) A.是ORACLE数据库服务器的主要组成部分,是服务器运行的基础构件。B.是ORACLE数据库系统底层网络通信协议,为所有的ORACLE应用程序提供一个公共的通信平台。 C.是ORACLE客户端访问服务器的一个工具,通过它可以向服务器发送SQL命令。 D.是ORACLE客户端到客户端的点对点的通信工具,用来传递各个客户端的数据。 2.命令sqlplus /nolog的作用是( ) A.仅创建一个ORACLE实例,但并不打开数据库. B.仅创建一个ORACLE实例,但并不登录数据库. C.启动sqlplus,但并不登录数据库 D.以nolog用户身份启动sqlplus 3.在SQL*PLUS中显示EMP表结构的命令是( ) A.LIST EMP B.DESC EMP C.SHOW DESC EMP D.STRUCTURE EMP 4.在SQL*PLUS环境中可以利用DBMS_OUTPUT包中的PUT_LINE方法来回显服务 器端变量的值 但在此之前要利用一个命令打开服务器的回显功能,这一命令是( ) A.set server on B.set serverecho on C.set servershow on D.set serveroutput on 5.在SQL*PLUS中执行刚输入的一条命令用( ) (A) 正斜杠(/) (B) 反斜杠(\) (C) 感叹号(!) (D) 句号(.) 6.在SQL*PLUS中显示当前用户的命令是( ) (A) show account (B) show accountname

相关主题