数据库能力测试I(题目源自于CSDN论坛)

** DB ** ** 基础 **

选答题 , 从下列题目中任选题分值满 10 分的作答 .

SYBASE

A.(5) 软件公司的张工在备份数据库除了备份应用数据库本身以外 , 还备份 master 数据库 , 为什么 ?

B.(5)SYBASE 的 VIEW 创建有那些限制 ?

ORACLE

A.(5) 解释归档和非归档模式之间的不同和它们各自的优缺点

B.(5) 兩個結果集互加及互減的函數

综合

A.(10) 取一表前 N 筆記錄的各种數据庫的寫法 ... 至少写出三种写法 .

** SQL ** ** 常识 **

A. (5) 比较 truncate 和 delete :

B. (5) 比较 union 和 union all 区别 , 请举例说明 ( 要求写出结果集 )

C. (5) 比较 EXISTS 与 IN (NOT IN) 的用法 , 请举例说明 ( 要求写出结果集 )

D. (5) 比较 between 与 > and < 的区别 , 请举例说明 ( 要求写出结果集 )

E. (9) 比较自然连接和外部连接以及笛卡尔积的用法 , 各请举例说明 ( 要求写出结果集 )

** SQL ** ** 综合应用 **

使用的数据库不受限制 , 但要求在答案中写出所用的数据库类型 .

下列题目要求用 SQL 本身实现 ( 要求考虑到编码级优化 )

最好就一句 SQL, ( 得分率为 100%)

如果不能用一句 SQL 实现可以用多句 SQL 实现 ,( 得分率为 80%)

也可以用存储过程实现 ( 得分率为 70%).

除了写出相应的编码外 , 还要求答题者给出思路以及实现步骤的文字描述 .

** A.(6) ** ** 求和运算 **

表结构如下:

序号,总金额,金额 1 ,部门

记录: 1 10 1

2 10 1

3 10 1

4 10 2

5 10 2

现想按部门对总金额进行求和运算

结果为为:

序号,总金额,金额 1 ,部门

记录: 1 30 10 1

2 30 10 1

3 30 10 1

4 20 10 2

5 20 10 2

** B.(6) ** ** 字段最大值 **

有三个字段, T1, T2, T3 ,请问怎么返回一个字段,值是这三个字段的最大值?

要求 : 对题目的理解描述 , 建立相应的测试数据 , 写出 SQL, 得出 SQL 结果集

** C.(6) ** ** 重复行检索 **

请问如何把一个 table 中某列重复的行检索出来? (某一列或者多列的值重复)

要求 : 对题目的理解描述 , 建立相应的测试数据 , 写出 SQL, 得出 SQL 结果集

** D.(8) ** ** 需求理解 **

有一张表: S#( 学号) ,C#( 课程号 ),Grade( 成绩 )

请写出所学课程包含学号为 001 的学生所学课程的学生的学号。

要求 : 对题目的理解描述 , 建立相应的测试数据 , 写出 SQL, 得出 SQL 结果集

** E.(14) ** ** 外连接应用 **

有两张表 b1,b2, 其中 b1 表有一列为 (id1 number(10)),b2 有一列为 (id2 number(10)). 现在需要将 id1,id2 取出来,放在表 b3 里, b3 为( b1id number(10),b2id number(10) ) , 要将 id1 放入 b1id,id2 放入 b2id. 另该两表没有任何内在联系 .

请问用 sql 语句该怎么实现。

表 B1 表 B2 表 B3

id1 id2 b1id, b2id

1 2 1 2

2 3 2 3

3 1 3 1

4 6 4 6

5 9 5 9

5 null 5

8 null 8

4 null 4

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

ABC 客户分析法的说明 :

( 一 ) 将客户按业绩大小顺序排列。

( 二 ) 将全部客户的进货金额予以累计。

( 三 ) 其累计的总金额在 55% 以内的客户称为 A 级客户。

在 55 %—— 85 %的客户称为 B 级客户。

在 85 %— 100 %的客户称为 C 级客户。

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus