ORACLE11g试题答案(陈冬亮) 下载本文

对一的关系。

2. 给出两个检查表结构的方法 解:

(1)DESCRIBE命令;

(2)DBMS_METADATA.GET_DDL 包。

3.介绍创建表时常用的数据类型 解:

bit:整型 int:整型

smallint:整型 tinyint :整型

numeric :精确数值型 decimal :精确数值型 money :货币型

smallmoney :货币型 float :近似数值型 real :近似数值型 datetime :日期时间型

Smalldatetime :日期时间型 cursor :特殊数据型 timestamp :特殊数据型

Uniqueidentifier :特殊数据型 char :字符型 varchar :字符型 text :字符型

nchar :统一编码字符型 nvarchar :统一编码字符型 ntext :统一编码字符型 binary :二进制数据类型 varbinary :二进制数据类型 image :二进制数据类型

4.简要介绍数据库表的约束和主要类型、作用 解:

主要四种:

(1)实体完整性约束(每一行反应不同的实体)

通过索引,唯一约束。主键约束或标识属性来体现;

17

(2)域完整性约束(指给定列的输入有效性)

通过限制数据类型,检查约束,输入格式,外键约束,默认值,非空等体现; (3)引用完整性约束(表之间的联系) 通过主外建;

(4)自定义完整性约束(根据用户的需求)

第六章 ORACLE 11g 的数据查询

一、单项选择题

1.ORDER BY的作用是( C )

A. 查询输出分组 B. 设置查询条件 C. 对记录排序 D.限制查询返回的数据行

2.设有一个关系:DEPT(DNO,DNAME),如果要找出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成WHERE DNAME LIKE ( B ) A.‘_ _ W _ %’ B.‘_ % W _ _’ C. ‘_ W _ _’ D. ‘_ W _ %’ 3.已知成绩关系如下图所示。 执行SQL语句:

SELECT COUNT(DISTINCT学号) FROM成绩

WHERE分数>60

查询结果中包含的元组数目是( B ) 成绩

18

学号 S1 S1 S2 S2 S3 课程号 C1 C2 C1 C2 C3 分数 80 75 null 55 90 A.1 B.2 C. 3 D. 4

4.基于\学生-选课-课程\数据库中的三个关系:S(S#,SNAME,SEX,AGE), SC(S#,C#,GRADE), C(C#,CNAME,TEACHER),若要求查找选修\数据库技术\这门课程的学生姓名和成绩,将使用关系( D )

A. S和SC B. SC和C C.S和C D.S、SC和C

5.基于\学生-选课-课程\数据库中的三个关系:S(S#,SNAME,SEX,AGE), SC(S#,C#,GRADE), C)(C#,CNAME,TEACHER),若要求查找姓名中第一个字为'王'的学生号和姓名。下面列出的SQL语句中,哪个(些)是正确的?( B ) Ⅰ. SELECT S#,SNAME FROM S WHERE SNAME = ˊ王%ˊ Ⅱ. SELECT S#,SNAME FROM S WHERE SNAME LIKE ˊ王%ˊ Ⅲ. SELECT S#,SNAME FROM S WHERE SNAME LIKE ˊ王_ ˊ A. Ⅰ B.Ⅱ C.Ⅲ D.全部

6.有如下两个关系,其中雇员信息表关系EMP的主键是雇员号,部门信息表关系DEPT的主

EMP

雇员号 001 010 056 DEPT

部门号 01 02 03 部门名 业务部 销售部 服务部 地址 1号楼 2号楼 3号楼 雇员名 张山 王宏达 马林生 部门号 02 01 02 工资 2000 1200 1000 执行如下操作:select a.empno,a.empname,a.deptid,a.salary,b.deptid,b.deptname from emp a right outer join dept b on a.deptid=b.deptid 请问执行结果中有( C )条记录。 A. 1 B. 2 C. 3 D. 4 7.下列函数不属于集函数的是( D )

A.max B. avg C. count D. substring

8.从货物定单数据表(order)中查询出其中定单金额(order_price)在1000和5000之间的定单的

19

详细信息,并按照定单金额(order_price)升序排列。正确的语句是( A )。 A. Select * from order where order_price between 1000 and 5000 order by order_price ASC B. Select * from order where order_price

between 1000 and 5000 order by order_price DESC

C. Select * from order where 1000

A.查询结果的分组条件 B.组的筛选条件 C.限定返回的行的判断条件 D.对结果集进行排序

12.查询一个表的总记录数,可以采用( C )统计函数。 A.AVG(*) B.SUM(*) C.COUNT(*) D.MAX(*) 13.下列涉及空值的操作,不正确的是( C ) A. AGE IS NULL B. AGE IS NOT NULL C. AGE = NULL D. NOT (AGE IS NULL) 二、填空题

1.集合运算符 UNION 实现了集合的并运算,操作INTERSECT实现了对集合的交运算,而 MINUS 则实现了减运算。

2.如果只需要返回匹配的列,则应当使用 INNER JOIN 连接。

3.如果使用逗号分隔连接查看两个表,其中一表有20行,而另一表有50行,如果未使用WHERE子句,则将返回 1000 行。

4.外连接的三种类型是 LEFT JOIN 、 RIGHT JOIN 和 FULL JOIN 。

5. DISTINCT 关键字用来限定检索结果中只显示那些不冗余的数据,该关键字使用在SELECT子句中列的列表前面。

6.在order by子句中, ASC 关键字表示升序排列, DESC 关键字表示降序排列。 7.在连接操作中,如果左表和右表中不满足连接条件的数据都出现在结果中,那么这种连接是 FULL JOIN 。

8.GROUP BY的作用是 实现分组查询 。

9.标准的SQL语言语句类型可分为: 数据操纵语句(DML) 、 数据定义语句(DDL 、 数据控制语句(DCL) 和数据查询语句(DQL). 三、问答题

1. 简要介绍SQL语言的特点。 解:

SQL(Structured Query Language,即结构化查询语言,又简称SQL语言)在关系型数据

20