oracle试卷

更新时间:2024-01-02 20:36:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Oracle 试卷

班级 姓名 一. 填空题(11*2+4=26)

1.在Oracle数据库中,完正性约束类型有_______、_______、_______、_______、_______

2..在SQL SELECT语句查询中,要去掉查询结果中的重复记录,应该使用_________关键字。

3.使用SQL语言的SELECT语句进行分组查询时,如果希望去掉不满足条件的分组,应当使用____having _____子句。

4. 创建一个视图的语句是_create view_____。

5.提交一个事务使用关键字______

6.有关连接中使用什么语句表示内连接_inner join_____

7. 写出从表A中获取前10条记录的语句__select * from a where rownum<=10____________ 8.写出从表A中获取从第10条到第20条的sql语句___

select * from a (select *,rownum no from a where_rowunm<21)__________ (4分)

二.选择题(14*2=28分)

1.SELECT ROUND(45.923,2), ROUND(45.923,0), ROUND(45.923,-1) FROM DUAL 结果是: ( )。

(A) 45.92,46,50 (B)45,50,45.9 (C)45.92,45.90,5 (D)45,50,45,9

2.在employees表中查找名字以G开头的SQL语句是:( )。 (A) SELECT last_name, hire_date

FROM employees

WHERE last_name like 'G%';

(B) SELECT last_name, hire_date

FROM employees

WHERE last_name == 'G%';

(C) SELECT last_name, hire_date

FROM employees

WHERE last_name in 'G%';

(D) SELECT last_name, hire_date

FROM employees

WHERE last_name like 'G___';

3.下列哪个字句用来分类统计_______。

(A)group by (B)order by (C)intesect (D)union all

4.下列哪个字句出现在多行子查询语句中( )。

(A)<= (B)>= (C) in (D) ==

5.假设下表中属性emp_dept是employee表中的一个外键,其中department表是主表,ID为主键,employee表为从表。请指出下面给出的各行中哪一行不能插入employee表( ) DEPARTMENT: ID NAME LOCATION 10 Accounting New york 40 Sales miami EMPLOYEE: EMP_ID 1234 4567 1045 9876 EMP_NAME Green Gilmore Rose Smith EMP_MGR 1234 4567 1045 TITLE President Senior VP Director Accountant EMP_DEPT 40 40 10 10 (A) 9213 jones 1045 clerk 30 (B) 8997 grace 1234 secretary 40 (C) 5932 allen 4567 clerk null (D) 9000 frank 3456 sale_rep 10

6. 可以使用( )伪列来访问序列。

(A) CURRVAL和NEXTVAL (B) NEXTVAL和PREVAL

(C) CACHE和NOCACHE (D) MAXVALUE和MINVALUE

7. 在oracle中获取前10条的关键字是()

(A) top (B)Limit (C)first (D) rownum

8. 对数据库运行下列哪个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;

9.( )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;

10.为数据表创建索引的目的是(1___),可以用(2___)来创建索引。 ⑴ A、提高查询的检索性能 B、创建唯一索引 C、创建主键 D、归类

⑵ A、设置主键约束,设置唯一约束 B、Create table C、Create index D、以上都可以

11. ORACLE数据库表zq_jysj 中字段srrq (输入日期) 类型是DATE,现在需要查询2007

年1月1日以后的数据(包含2007年1月1日),下列SQL正确的是:( ) A. select * from zq_jysj WHERE srrq >= to_date('2007-01-01') ;

B. select * from zq_jysj WHERE srrq >= to_date('2007-01-01',’yyyy-mm-dd’); C.select * from zq_jysj WHERE srrq >= '2007-01-01';

D. select * from zq_jysj WHERE to_char(srrq) >= '2007-01-01';

12、ORACLE中有序列创建脚本 create sequence test_sq

minvalue 1

maxvalue 1000000000000000000000000000 start with 2 increment by 2 cache 20; 第二次执行语句

select test_sq.NEXTVAL from dual; 的结果是:( )

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

13.部分匹配查询中有关通配符“_”的正确的叙述是 ( ) A.“_”代表多个字符 B.“_”可以代表零个或多个字符 C.“_”不能与“%”一同使用 D.“_”代表一个字符

14.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,

从职员到部门的联系类型是( )

A.多对多 B.一对一 C.多对一 D.一对多

三. 程序题(10+25=35)

1.建立如下表, 在表中插入如下数据:(10分) 部门表(dept):

伦理名 部门号 部门名称 所在地区 物理名 属性 NUM(6) VARCHAR(20) VARCHAR(100) 是否为空 YES YES 主键 YES 外键 id name location

ID 10 40 50

员工表(emp) 伦理名 员工号 员工姓名 物理名 属性 NUM(4) VARCHAR(20) VARCHAR(100) NUM(6) NUM(6) NUM(20) 是否为空 YES YES YES YES YES 主键 YES 外键 NAME Accounting Sales IT LOCATION New york miami Southlake empno 职位 年薪 部门 电话 ENAME JOB SAL EMP_DEPT TEL dept (ID) 员工号 员工姓名 职位 MANAGER 年薪 部门 电话 30 10

BLAKE SCOTT 2850 10 40 400120 800233 SALESMAN 2450

2.按要求写出SQL语句(5*5=25)

1) 查询家有电话的员工信息。

Select * from emp where tel is not null

2) 显示职位为MANAGER 和SALESMAN,年薪在15000 和20000 之间的员工的信息:名字、职位、年薪?(使用emp表)

Select * from emp where job in (‘maingere’,’salesman’)and (Sal>=15000 and sal<=20000)

3) 显示整个公司的最高工资、最低工资、工资总和、平均工资?(使用emp表)

4) 哪些员工跟SCOTT不在同一个部门?(非关联子查询) Select * from ep where emp_dept not in

(select emp_dept from emp where emp_name=’scott’)

5) 查找工作在Southlake地区的员工的编号(emp.empno),薪水(emp.sal),部门名称(dept. name)

四.计算题 (本大题共2小题,共11分)

设有一个顾客商品关系数据库,有三个基本表,表结构如下: 商品表:Article (商品号,商品名,单价,库存量) 客户表:Customer (顾客号,顾客名,性别,年龄,电话) 订单表:OrderItem (顾客号,商品号,数量,购买价,日期)

注意:回答时要将答案写到规定的地方;给出的答案要求字迹必须清楚;不允许改变程序结构和随意添加子查询。

1.请用SQL语言找出女顾客购买的商品号、商品名和数量合计。(2*3=6分) SELECT ___________

FROM OrderItem, Artcle, Customer,

WHERE _orderItem.顾客=_customer.顾客号 and orderItem.商品名=article.sh商品名 and_customer.性别=’女’________

GROUP BY OrderItem.商品号,商品名;

2.请用SQL语言ALTER TABEL命令给商品表Article增加一个字段,字段名为:产地,数据类型为:

CHAR,长度为:30,命令如下:(5分)

ALTER TABEL ___alter table article add 产地 char(30)________

本文来源:https://www.bwwdw.com/article/hsxx.html

Top