Oracle数据库编程1Word格式.docx
- 文档编号:692610
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:19
- 大小:49.72KB
Oracle数据库编程1Word格式.docx
《Oracle数据库编程1Word格式.docx》由会员分享,可在线阅读,更多相关《Oracle数据库编程1Word格式.docx(19页珍藏版)》请在冰点文库上搜索。
(验证的时候注意数据库的字符集问题)
5.如果EMPID所选的值是60494,下列函数执行后,结果是哪一项:
(b)
SELECTDECODE(empid,38475,'
Terminated'
60494,'
LOA'
'
ACTIVE'
)FROMEMP;
A.60494B.LOA
C.TerminatedD.ACTIVE
6.查询语句SELECTSUBSTR(‘HelloWorld’,4,5)FROMDUAL;
返回结果,正确的是:
(a)
A.loWorB.World
C.lloWoD.loWo
7.查询语句SELECTROUND(13.57),ROUND(13.57,1),ROUND(13.57,-1),TRUNC(13.57,-2)FROMDUAL返回结果,正确的是:
(c)
A.13.57,13.6,10,13
B.13,13.5,14,0
C.14,13.6,10,0
D.13.6,13.5,11,13
8.语句WHERESALBETWEEN1000AND4000与下列哪个子句等价:
A.WHERESAL>
=1000ANDSAL<
=4000
B.WHERESAL>
1000ANDSAL<
4000
C.WHERESAL>
=1000ORSAL<
D.WHERESAL>
=1000ANDSAL<
9.关于对UNION和UNIONALL的描述,下列描述正确的是(多选):
(ac)
A.UNION操作符返回两个查询结果集的并集,并去掉重复行。
B.UNIONALL操作符返回两个查询结果集的并集,并去掉重复行。
C.UNION操作符返回两个查询结果集的并集,并缺省按照第一列升序排序。
D.UNIONALL操作符返回两个查询结果集的并集,并缺省按照第一列升序排序。
10.数据库中有两张表,employees(雇员表),departments(部门表),如下图所示,如果想要获得全部雇员的信息,不管这个雇员是否被分配了部门,以下答案正确的是:
(d)
A.SELECTlast_name,department_nameFROMemployeesJOINdepartments(+)
B.SELECTlast_name,department_nameFROMemployees(+)JOINdepartments
C.SELECTlast_name,department_nameFROMemployeeseRIGHTJOINdepartmentsdON(e.department_id=d.department_id)
D.SELECTlast_name,department_nameFROMemployeeseLEFTJOINdepartmentsdON(e.department_id=d.department_id)
11.SQL语句SELECTdepartment_id,job_id,avg(salary)FROMemployeesWHEREdepartment_id=100GROUPBYjob_idHavingavg(salary)>
2000中有错误的是哪一个子句:
A.SELECT子句B.WHERE子句
C.GROUPBY子句D.Having子句
12.关于子查询的描述,下列说法正确的是(多选):
(abd)
A.子查询必须要写在括号内。
B.子查询可以写在FROM,WHERE,HAVING子句中。
C.<
ALL主要应用于多行子查询中,表示要小于子查询结果集的任意一个值即可。
D.子查询可以用在UPDATE的SET子句中。
13.关于模糊查询中通配符“_”描述正确的是:
(b)
A.“_”代表多个字符B.“_”代表一个字符
C.“_”不能与“%”一同使用D.“_”代表代表零个或多个字符
14.下列哪个约束只能定义在列级定义上:
A.UNIQUEB.NOTNULL
C.CHECKD.PRIMARYKEY
E.FOREIGNKEY
15.关于约束PRIMARYKEY和UNIQUE描述正确的是:
(b)
A.PRIMARYKEY和UNIQUE都可以定义在一个或多个列上。
B.UNIQUE可以定义在多个列上,PRIMARYKEY不可以。
C.PRIMARYKEY和UNIQUE约束的列都可以为空值。
D.PRIMARYKEY和UNIQUE约束在一个表中都可以有任意个。
16.关于对索引的描述,下列正确的是:
(a)
A.在一个表上可以建立多个索引。
B.索引可以增加查询的速度,所以建立索引越多越好。
C.索引通常建立在欲查询的表的数据量很大,并且查询最终得到的结果集也很大的情况下。
D.索引删除之后,索引所基于的表中的数据也被删除了。
17.SQL语句的执行顺序是:
(c)
selectfromwheregroupbyhavingorderby
A.123456B.234561
C.234516D.124563
18.查看序列S1的当前值,应该使用下列的哪一项:
A.S1.NEXTVALB.S1.CURRVAL
C.S1.MAXVALD.S1.MINVAL
19.关于ROWNUM的描述,下列正确的是:
(d)
A.ROWNUM是每个表中实际存在的列。
B.ROWNUM是每条查询语句执行完成之后,给每行数据填充的行号,行号从0开始。
(从1开始)
C.ROWNUM做为条件表达式时,可以使用任何算术运算符。
D.ROWNUM经常用来做为分页查询。
20.关于TRUNCATE和DELETE命令,下列描述正确的是:
A.两者都属于DML语句。
B.两者都不属于DML语句。
C.执行TRUNCATE命令之后,该会话中先前未提交的事务自动提交。
D.执行TRUNCATE命令之后,该会话中先前未提交的事务自动回滚。
21.关于使用AlTERTABLE进行修改表的定义,下列描述正确的是(多选):
(bcd)
A.使用该命令可以修改表的名称B.使用该命令可以修改列的名称
C.使用该命令可以修改列的数据类型D.使用该命令可以修改列的精度
22.关于Oracle中对锁的描述正确的是:
(d)
A.修改某个表中的某行数据,Oracle会自动锁住整个表。
(验证过,只是锁住一行)
B.执行查询语句,Oracle会自动对要查询的结果加上锁。
(没有锁上)
C.锁在被相关操作申请并持有后,该操作执行结束后,会马上释放。
(事务结束后才释放)
D.会话A在时间T1修改资源X,未提交;
会话B在时间T2修改资源Y,未提交;
会话A在时间T3修改资源Y,未提交;
会话B在时间T4修改资源X;
会产生死锁。
23.关于事务的描述,下列说法正确的是:
A.执行一个DDL或DCL语句后,事务自动开始。
B.执行一个DDL或DCL语句后,事务自动提交。
C.执行一个DDL或DCL语句后,事务自动回滚。
D.执行一个DDL或DCL语句后,对当前事务没有影响。
24.关于Oracle中用户的描述,下列选项正确的是(多选):
(cd)
A.Oracle中的所有用户都可以执行CreateUser命令。
(错)
B.使用CreateUser命令新建一个用户之后,该用户自动拥有了登录权限。
C.使用“DropUser用户名cascade”命令执行删除用户之后,该用户下的所有对象也自动被删除。
D.用户的授权可以通过直接授权,也可以通过角色来间接授权。
25.对于权限的授予,下列说法正确的是:
(d)
A.WITHGRANTOPTION选项可以实现系统权限的传递。
(对象权限)
B.WITHADMINOPTION选项可以实现对象权限的传递。
(系统权限)
C.以上两种说法都正确。
D.以上两种说法都不正确。
26.下面哪个SQL语句可以查询出名字当中有’A_B’这样的员工?
(单选)(d)
A.select*fromempwhereenamelike'
%A\_B%'
escape'
\\'
;
B.select*fromempwhereenamelike'
%A_B%'
escape;
C.select*fromempwhereenamelike'
A_B%'
%'
D、select*fromempwhereenamelike'
\'
27.在SQLPlus当中,在命令提示行可以输入哪些命令(多选)?
(abcd)
A.pl/sql程序块
B.SQL*Plus命令
C.安全命令
D.SQL命令
28.在A、B两张表当中使用外连接A?
?
OUTERJOINB,如果期望返回记录中包含B表当中所有的记录,那么你在问号出需要写:
(单选)d
A.任何一种外连接
B.左外连接
C.交叉连接
D.右外连接
E.内连接
29.下列语句当中对于日期型数据使用trunc语句正确的是(单选)c
A.SELECTTRUNC(TO_DATE(12-Feb-99,DD-MON-YY,'
YEAR'
))"
Date"
FROMDUAL;
B.TRUNC=TO_DATE('
12-Feb-99'
DD-MON-YY'
),'
"
C.SELECTTRUNC(TO_DATE('
)"
D.date=TRUNC(TO_DATE('
30.预使用grant语句授予权限,你必须(多选):
bd
A.被授予GRANTROLEPRIVILEGE系统权限
B.被授予带有ADMINOPTION的系统权限
C.被授予GRANTANYPRIVILEGE的系统权限
D.被授予带有GRANTOPTION的系统权限
31.下列SQL是什么含义?
(单选)b
SELECTemployee_idFROMemployeesWHEREcommission_pct=.5ORsalary>
23000;
A.返回那些工资的50%大于23000的员工信息
B.返回那些佣金比率为50%或者工资大于23000的员工信息
C.运行时错误
D.语法错误
32.下列哪个语句能够返回-33的绝对值并且显示别名为Absolute(单选)c
A.SELECTABS("
-33"
)AbsoluteFROMDUAL;
B.SELECTABS('
-33'
Absolute"
C.SELECTABS(-33)"
D.SELECTABS(-33),AbsoluteFROMDUAL;
33.学生表结构如下
STD_IDNUMBER(4)
COURSE_IDVARCHAR2(10)
START_DATEDATE
END_DATEDATE
下列子句中哪些是正确的?
ce
A.SUM(start_date)(number类型)
B.AVG(start_date)(number类型)
C.COUNT(start_date)
D.AVG(start_date,end_date)(参数无效)
E.MIN(start_date)
F.MAXIMUM(start_date)(没有这个函数)
34.视图emp_dept_vu结构如下,哪些语句是错误的?
(单选)e
ColumnNameTypeRemarks
FromtheEMPLOYEEStable:
EMP_NAMEVARCHAR2(30)
JOB_IDVARCHAR2(20)
SALARYNUMBER
DEPARTMENT_IDNUMBER
FromtheDEPARTMENTStable:
DEPT_NAMEVARCHAR2(30)
A.SELECT*FROMemp_dept_vu;
B.SELECTdepartment_id,SUM(salary)FROMemp_dept_vuGROUPBYdepartment_id;
C.SELECTdepartment_id,job_id,AVG(salary)FROMemp_dept_vuGROUPBYdepartment_id,job_id;
D.SELECTjob_id,SUM(salary)FROMemp_dept_vuWHEREdepartment_idIN(10,20)GROUPBYjob_idHAVINGSUM(salary)>
20000;
E.全对,没有错误。
35.下面哪些语句是DML(bcd)
A.COMMIT
B.MERGE
C.UPDATE
D.DELETE
E.CREATE
F.DROP
36.有一张employees表,结构如下
EMPLOYEE_IDNUMBERPrimaryKey
FIRST_NAMEVARCHAR2(25)
LAST_NAMEVARCHAR2(25)
HIRE_DATEDATE
当执行deleteemployees之后,将发生什么事情?
(单选)c
A.因为违反主键约束,所以你将得到一个错误。
B.表当中的数据和表的结构都将被删除。
C.只有表当中的数据被删除,结构还是存在嘀。
D.因为这个语句是存在语法错误的,根本不会被执行。
37.当你把所有圆括号从下面这个语句拿走之后,将发生什么事情?
(单选)C
SELECTe.employee_id,(.15*e.salary)+(.5*mission_pct)+(s.sales_amount*(.35*e.bonus))ASCALC_VALUEFROMemployeese,salesWHEREe.employee_id=s.emp_id;
A.在CALC_VALUE列显示的数据都将变低。
B.在CALC_VALUE列显示的数据都将变大。
C.在CALC_VALUE列显示的数据没有变化。
D.有语法错误,不会执行。
38.下面哪个(些)语句是SQL*Plus命令D
A.INSERT
B.UPDATE
C.SELECT
D.DESCRIBE
E.DELETE
F.RENAME
39.按照如下格式显示系统当前时间Monday,01June,2001(单选)C
A.SELECTTO_DATE(SYSDATE,'
FMDAY,DDMonth,YYYY'
)FROMdual;
B.SELECTTO_CHAR(SYSDATE,'
FMDD,DYMonth,YYYY'
C.SELECTTO_CHAR(SYSDATE,'
FMDay,DDMonth,YYYY'
D.SELECTTO_CHAR(SYSDATE,'
FMDY,DDDMonth,YYYY'
E.SELECTTO_DATE(SYSDATE,'
40.下面哪些是Oracle的约束?
A.CASCADE
B.UNIQUE
C.NONUNIQUE
D.CHECK
E.PRIMARYKEY
F.CONSTANT
G.NOTNULL
41.当你想从当前模式下删除视图EMP_DEPT_VU,你将用哪个语句?
(单选)D
A.DROPemp_dept_vu;
B.DELETEemp_dept_vu;
C.REMOVEemp_dept_vu;
D.DROPVIEWemp_dept_vu;
E.DELETEVIEWemp_dept_vu;
F.REMOVEVIEWemp_dept_vu;
二、程序设计题(本大题共9小题,共50分)
某公司程序员张某设计了一套学生选课系统,其中涉及到的主要表结构如下:
a.学生信息表:
表名STU,主要用来保存学生的基本信息,字段信息表述如下:
{
Sno:
流水号数值型主键
SID:
学生编号,字符唯一
SName:
学生姓名,长度为20的变长字符串,非空;
Sex:
性别,长度为2的定长字符串,值只能为"
男"
或"
女"
;
Indate:
入班日期,日期型
ClassID:
所在班级编号,数值型,外键,
}
b.班级信息表:
表名CLA,主要用来保存班级的基本信息,字段信息表述如下:
clano:
ClaID,班级编号,字符唯一
ClaName,班级名称,长度为20的变长字符串,唯一约束
c.课程信息表:
表名SUBJECT,主要用来保存课程的基本信息,字段信息表述如下:
subno:
SubID,课程编号字符唯一
SubName,课程名称,长度为20的变长字符串,唯一约束
d.学生选课信息表:
表名SELECT_SUBJECT,主要用来保存学生所选课程的基本信息,字段信息表述如下:
ID:
流水号数值主键
StuID,学生编号外键
SubID,课程编号,外键
Grade,成绩数值型
请您根据以上张某的设计,完成以下问题:
1、请写出以上四张表的创建表语句,要求在建表的同时建立相应的约束。
--学生信息表
createtableSTU(
Snonumberprimarykeynotnull,
SIDcharunique,
SNamevarchar2(20)notnull,
Sexchar(3)constraintstu_sex_ckcheck(Sexin('
男'
女'
)),
Indatedate,
ClassIDchar,
constraintstu_ClassID_fkforeignkey(ClassID)referencesCLA(ClaID)
)
--班级信息表
createtableCLA(
clanonumberprimarykeynotnull,
ClaIDcharunique,
ClaNamevarchar2(20)unique
--课程信息表
createtableSUBJECT(
subnonumberprimarykeynotnull,
SubIDcharunique,
SubNamevarchar2(20)unique
--学生选课信息表
createtableSELECT_SUBJECT(
ID numberprimarykeynotnull,
StuIDchar,
SubIDchar,
Gradenumber,
constraintsss_StuID_fkforeignkey(StuID)referencesSTU(SID),
constraintsss_SubID_fkforeignkey(SubID)referencesSUBJECT(SubID)
2、创建一个序列。
--创建一个序列
createsequencemysequence
startwith1
incrementby1
minvalue1;
3、使用序列,分别向班级表插入3条数据,每个班级5名学生,3门课程数据,以及每个学生的选课数据。
--向班级表插入3条
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 数据库 编程