[DB基础](10)
选答题, 从下列题目中任选题分值满10分的作答.
SYBASE
A.(5)软件公司的张工在备份数据库除了备份应用数据库本身以外, 还备份master数据库,为什么?
B.(5)SYBASE的VIEW创建有那些限制?
ORACLE
A.(5)解释归档和非归档模式之间的不同和它们各自的优缺点
B.(5) 兩個結果集互加及互減的函數
综合
A.(10)取一表前N筆記錄的各种數据庫的寫法... 至少写出三种写法.
[SQL常识](30)
A. (5)比较truncate和delete :
B. (5)比较union 和 union all区别,请举例说明 (要求写出结果集)
C. (5)比较EXISTS 与 IN (NOT IN)的用法, 请举例说明 (要求写出结果集)
D. (5)比较between 与 > and <的区别,请举例说明 (要求写出结果集)
E. (9)比较自然连接和外部连接以及笛卡尔积的用法,各请举例说明 (要求写出结果集)
[SQL综合应用](40)
使用的数据库不受限制,但要求在答案中写出所用的数据库类型.
下列题目要求用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级客户。