[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级客户。