文档库 最新最全的文档下载
当前位置:文档库 › SQL Server 技术水平测试题

SQL Server 技术水平测试题

SQL Server 技术水平测试题

一、语言测试题(50分)

注:只需写出语句,不必列出执行结果

前提:假设现有两张表,以【A0190】(人员编号)为关联。表结构分别如下描述:

Insert into A64(人员编号,学历,所学专业,入学时间)

values (12,’大本毕业’,’企业管理’,’1979-7-1’);

3、更新A01表,把所有“王”姓人员,变成“李”姓人员(10分)

update A01 set A0101= '李'+ SUBSTRING(A0101, LEN('王') + 1, LEN(A0101)) where A0101like '王%'

4、写出一段语句,计算出在70年代的人员占总数的百分比是多少?(5分)

Select (Select count(1) form A01 where

CONVERT(VARCHAR(10),出生日期,120) >’1970%’

and CONVERT(VARCHAR(10),出生日期,120) <’1980%’

) / count(1) as a1 form A01

5、更新A01表,根据【出生日期】,得出每个人的年龄(5分)

提示:与系统时间比较,取相差年数

Update A01 set A01101 = DATEDIFF(year,A0111,getdate()) where A0190=A0190

6、查询出A01表中大于平均年龄的人员名单(5分)

Select * from A01 where DATEDIFF(year,A0111,getdate()) >(Select sum(DATEDIFF(year,A0111,getdate())) / count(1) from A01)

7、查询出A01表中,学历记录〉=2的人员名单(15分)

提示:A01与A64 【A0190】关联,以A64中每个人的记录数〉=2为条件

Select * from A01 where A0190 in (Select A01.A0190 from A01 left join A64 on A01.A0190 = A64.A0190 group by having count(A0190) >= 2)

加试题:

C21表中,应税工资【C2101】,个人所得税【C2102】

根据个人所得税计算公式及税率表,计算出个人所得税。

语句应该涵盖各种税率,要求用Case语句。

个人所得税计算公式:

select

case when (C2101-1600) <500 then (C2101-1600) * C2102

case when (C2101-1600) BETWEEN 500 and 2000

then (C2101-1600)* C2102 -25

case when (C2101-1600) BETWEEN 2000 and 5000

then (C2101-1600)* C2102 -125

case when (C2101-1600) BETWEEN 5000 and 20000

then (C2101-1600)* C2102 -375

case when (C2101-1600) BETWEEN 20000 and 40000

then (C2101-1600)* C2102 -1375

case when (C2101-1600) BETWEEN 40000 and 60000 then (C2101-1600)* C2102 -3375

case when (C2101-1600) BETWEEN 60000 and 80000 then (C2101-1600)* C2102 -6375

case when (C2101-1600) BETWEEN 80000 and 100000 then (C2101-1600)* C2102 -10375

else

(C2101-1600)* C2102 -15375

end

from C21

相关文档