oracle考試題

1、選擇題(40分)數據庫

Oracle發出下列select語句:oracle

SQL> select e.empno, e.ename, d.locide

2 from emp e, dept d函數

3 where e.deptno = d.deptnopost

4 and substr(e.ename, 1, 1) = ‘S’;code

下列哪一個語句是Oracle數據庫中可用的ANSI兼容等價語句?orm

A.select empno, ename, loc from emp join dept on emp.deptno = dept.deptno where對象

substr(emp.ename, 1, 1) = ‘S’;索引

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

substr(emp.ename, 1, 1) = ‘S’;

C.select empno, ename, loc from emp join dept where emp.deptno = dept.deptno and

substr(emp.ename, 1, 1) = ‘S’;

D.select empno, ename, loc from emp left join dept on emp.deptno = dept.deptno and

substr(emp.ename, 1, 1) = ‘S’;

下列哪一個選項表示Oracle中select語句的功能?

A.能夠用select語句改變Oracle中的數據 B.能夠用select語句刪除Oracle中的數據

C.能夠用select語句和另外一個表的內容生成一個表 D.能夠用select語句對錶截斷

你要操縱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);

你要在Oracle中定義SQL查詢。下列哪一個數據庫對象不能直接從select語句中引用?

A.表 B.序列 C.索引 D.視圖

你要根據PRODUCT_NAME列從PROFITS表查詢中過濾返回的數據。下列哪一個子句包含相應過濾條件的引用?

A.select B.from C.where D.having

用下列代碼所示的內容回答後面五個問題:

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


7369SIMTHCLERK790217-DEC-8080020

7499ALLENSALESMAN769820-FEB-81160030030

7521WARDSALESMAN769822-FEB-81125050030

7566JONESMANAGER783902-APR-81297520

7654MARTINSALESMAN769828-SEP-811250140030

7698BLAKEMANAGER783901-MAY-81285030

7782CLARKMANAGER783909-JUN-81245010

7788SCOTTANALYST756619-APR-82300020

7839KINGPRESIDENT17-NOV-81500010

7844TURNERSALESMAN769808-SET-811500030

7876ADAMSCLERK778823-DEC-82110020

7900JAMESCLERK769803-DEC-8195030

7902 FORD ANALYST 7566 03-DEC-81 3000 20

7934 MILLER CLERK 7782 23-JAN-82 1300 10

如下選項中哪一個是下列查詢返回的值:select sum(sal) + sum(comm) from emp where job = ‘ANALYST’ or ename like ‘J%’ ?

A.6000 B.9925 C.9975 D.NULL null參與運算後的結果仍是null

如下選項中哪一個是下列查詢返回的值:select count(mgr) from emp where deptno = 10 ?

A.1 B.2 count運算能夠忽略空行 C.3 D.NULL

如下選項中哪一個是下列查詢返回的值:select count(*) from emp where mgr = 7700-2 ?

A.5 B.6 C.7 D.NULL

如下選項中哪一個是下列SQL命令產生的第三個員工:select ename, sal from emp where job= ‘SALESMAN’ order by empno desc ?

A.ALLEN B.MARTIN C.TURNER D.WARD

如下選項中哪一個是發出下列查詢後Oracle返回的值:select substr(job, 1, 3) from emp where ename like upper(‘__ar%’) ?

A.ANA B.CLE C.MAN D.SAL

要從ORDERS表中取得數據,其中包括三個列CUSTOMER、ORDER_DATE與ORDER_AMT。能夠用下列哪一個where子句查詢ORDERS表,取得客戶LESLIE超過2700的訂單?

A.where customer = ‘LESLIE’;

B.where customer = ‘LESLIE’ and order_amt < 2700;

C.where customer = ‘LESLIE’ or order_amt > 2700;

D.where customer = ‘LESLIE’ and order_amt > 2700;

對錶中的某一行,VARCHAR2列包含數值SMITHY,應用程序在右側填充七個空格。length()函數處理這個列值時,返回什麼值?

A.6 B.13 C.30 D.60

在Oracle中發出的下列查詢:

SQL> select months_between(‘15-MAR-83’,’15-MAR-97’) form dual;

Oracle返回什麼?

A.14 B.-14 C.168 D.-168

開發報表時,要鏈接三個表的信息,這些表爲EMP、DEPT與SALGRADE。只須要公司10級員工相應的員工姓名、部門地址與工資的記錄。這個查詢須要多少條件?

A.2 B.3 C.4 D.5

Oracle中發出下列命令:

SQL> select e.ename,a.street_address,a.city,a.post_code

2 from emp e,addr a

3 where e.empno = a.empno(+)

4 and a.state = ‘TEXAS’;

下列哪一個選項顯示等價ANSI/ISO語句?

A.select e.ename, a.street_address, a.city, a.state, a.post_code from emp e outer join addr a on e.empno = a.empno where a.state = ‘TEXAS’;

B.select e.ename, a.street_address, a.city, a.state, a.post_code from emp e left outer join addr a on e.empno = a.empno where a.state = ‘TEXAS’;

C.select e.ename, a.street_address, a.city, a.state, a.post_code from emp e right outer join addr a on e.empno = a.empno where a.state = ‘TEXAS’;

D.select e.ename, a.street_address, a.city, a.state, a.post_code from emp e right outer join addr a where e.empno = a.empno(+) and a.state = ‘TEXAS’;

對數據庫運行下列哪一個group by查詢時會從Oracle產生錯誤?

A.select deptno, job, sum(sal) from emp group by job, deptno;

B.select sum(sal), deptno, job from emp group by job, deptno;

C.select deptno, job, sum(sal) from emp;

D.select deptno, sum(sal), job from emp group by job, deptno;

檢查下列SQL的輸出

SQL> select a.deptno,a.job,b.loc,sum(a.sal)

2 from dmp a,dept b

3 where a.deptno = b.depton

4 group by a.deptno,a.job,b.loc

5 order by sum(a.sal);

這個查詢按哪一個列的順序返回輸出?

A.A.DEPTNO B.A.JOB C.B.LOC D.SUM(A.SAL)

用下列代碼塊回答問題:

SQL> select deptno,job,avg(sal)

2 from emp

3 group by deptno,job

4 having avg(sal)>

5 ( select sal

6 from emp

7 where ename = ‘MARTIN’ );

上述語句使用下面哪一種子查詢?

A.單行子查詢 B.多行子查詢 C.from子句子查詢 D.多列子查詢

查詢語句返回的結果是單行就是單行子查詢

查詢語句返回的是多行就是多行子查詢

Oracle中要生成數據庫表,下列哪一個選項是無效表生成的語句?

A.create table cats(c_name varchar2(10), c_weight number, c_owner varchar2(10));

B.create table my_cats as select * from cats where owner = ‘ME’;

C.create global temporary table temp_cats(c_name varchar2(10), c_weight number, c_owner varchar2(10));

D.create table 51cats as select c_name, c_weight from cats where c_weight > 5;

JOB表有三個列JOB_NAME、JOB_DESC和JOB_WAGE。用下列命令在JOB_DESC表中插入新行:

SQL> insert into job(job_name, job_desc)

2 values (‘LUCKEY’, ‘MAKES COFFEE’);

以後查詢這個表時獲得的結果:

SQL> select * from job where job_name = ‘LUCKEY’;

JOB_NAME JOB_DESC JOB_WAGE


LUCKEY MAKES COFFEE 35

數據是如何填信JOB_WAGE表的?

A.JOB表中的LUCKEY行已經存在,JOB_WAGE設置爲35。

B.生成表時JOB_WAGE列定義的default子句指定插入行時的值。

C.insert語句的values子句包含隱藏值,在插入行時加入。

D.唯一理由是對JOB表發出的後一個update語句增長了JOB_WAGE值

2、問答題(20分)

  1. 寫出常見的事務控制語句?舉例說說事務具體的應用?

答:常見事物語句:commit,rollback,savepoint

舉例:① DML A ……;

② COMMIT;

③ DML B……;

④ ROLLBACK;

⑤ DML C;

⑥ SAVEPOINT sp;

⑦ DML D……;

⑧ ROLLBACK TO sp;

分析:第二行提交語句執行事後,第四行的rollback語句回滾只能回滾到第二行,說明第三行的DML語句對數據庫操做失效;第六行的設置保存點標記過之後,第八行的回滾就能回滾到sp保存點。

  1. oracle中如何獲取系統時間?

答:select to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual;

  1. Truncate與 delete的區別?

答:二者都刪除了表中數據,區別在於,delete語句只刪除了數據,沒有釋放表的存儲空間,而truncate語句既刪除了表數據,也自動釋放了表的存儲空間,效率更高。

  1. DDL和DML分別表明什麼?

答:DDL:Date Definition Language(數據定義語言),包括alter、rename、create、drop……

DML:Date Manipulation Language(數據操做語言)

  1. Oracle使用什麼語句給用戶分配權限?

答:grant……to……

3、有員工表emp(eno,ename,salary,dno),其中各字段的含義依次爲職工號、姓名、工資和所在部門號;有部門表dept(dno,dname),其中各字段的含義依次爲部門號、部門名稱。(10分)

1) 請用SQL語句將」銷售部」的那些工資數額低於3000元的職工的工資上調10%.

update emp

set salary=salary*1.1

where salary<3000 and dno=(

select dno from dept where dname=’ 銷售部’);

4、有下列一張數據表:(10分)

姓名

課程

成績

張三

數學

88

李四

語文

80

張三

英語

51

王五

英語

62

李四

數學

92

王五

語文

78

張三

語文

56

王五

數學

42

李四

英語

73

……

……

……

1)寫一個通用的查詢語句,找出全部課程都及格的學生姓名。

select sname

from table_name

group by sname

having min(grade)>=60;

相關文章
相關標籤/搜索