Day 9:(11)Transact sql语句实训_参考答案
2015-11-23 00:01
429 查看
--Transact sql语句实训_参考答案:
-- 1. 声明2个变量 i int ,j int 分别给 i,j 赋值为 25,35,根据实际情况显示 'i>j',35>25 或 'i<j',25<35 或 'i=j',25=25
declare @i int
declare @j int
select @i=35,@j=35
if @i>@j
begin
print 'i>j'
print str(@i,3)+'>'+str(@j,3)
end
else
if @i = @j
begin
print 'i=j'
print str(@i,3)+'='+str(@j,3)
end
else
begin
print 'i<j'
print str(@i,3)+'<'+str(@j,3)
end
-- 2. 查询显示exam表,使t_grade >=90 显示 优;
--
80<=t_grade<90 显示 良;
--
70<=t_grade<80 显示 中;
--
60<=t_grade<70 显示 及格;
--
t_grade<60 显示 不及格;
SELECT t_number,c_number,t_grade,'grade'=
CASE
WHEN t_grade>=90 THEN '优'
WHEN t_grade>=80 and t_grade<90 THEN '良'
WHEN t_grade>=70 and t_grade<80 THEN '中'
WHEN t_grade>=60 and t_grade<70 THEN '及格'
ELSE '不及格'
END
FROM exam
-- 3. 使用Northwinds数据库,统计每种产品的销售额,并且根据销售额的大小进行等级划分
-- 销售额 > 10000(含10000) 显示 '高';在5000和10000之间(含5000) 显示'中',其他显示'低'
select od.ProductID,productName,str(isnull(sum(od.UnitPrice*od.Quantity*(1-Discount)),0),20,2) as salesamount,
case
when isnull(sum(od.UnitPrice*od.Quantity*(1-Discount)),0)>=10000 then '高'
when isnull(sum(od.UnitPrice*od.Quantity*(1-Discount)),0)>=5000 and isnull(sum(od.UnitPrice*od.Quantity*(1-Discount)),0)<10000 then '中'
else '低'
end as 'grade'
from [Order Details] as od join products as p on p.productID = od.productID
group by od.ProductID,productName
order by salesamount desc
-- 4. 用while循环语句来完成1加到10
declare @i int,@j int
set @i=1
set @j=0
while @i<11
begin
set @j=@j+@i
set @i=@i+1
end
print @j
-- 5. 用goto语句来完成1加到10
declare @i int,@j int
set @i=1
set @j=0
lab:
set @j=@j+@i
set @i=@i+1
if @i<11
goto lab
else
print @j
-- 1. 声明2个变量 i int ,j int 分别给 i,j 赋值为 25,35,根据实际情况显示 'i>j',35>25 或 'i<j',25<35 或 'i=j',25=25
declare @i int
declare @j int
select @i=35,@j=35
if @i>@j
begin
print 'i>j'
print str(@i,3)+'>'+str(@j,3)
end
else
if @i = @j
begin
print 'i=j'
print str(@i,3)+'='+str(@j,3)
end
else
begin
print 'i<j'
print str(@i,3)+'<'+str(@j,3)
end
-- 2. 查询显示exam表,使t_grade >=90 显示 优;
--
80<=t_grade<90 显示 良;
--
70<=t_grade<80 显示 中;
--
60<=t_grade<70 显示 及格;
--
t_grade<60 显示 不及格;
SELECT t_number,c_number,t_grade,'grade'=
CASE
WHEN t_grade>=90 THEN '优'
WHEN t_grade>=80 and t_grade<90 THEN '良'
WHEN t_grade>=70 and t_grade<80 THEN '中'
WHEN t_grade>=60 and t_grade<70 THEN '及格'
ELSE '不及格'
END
FROM exam
-- 3. 使用Northwinds数据库,统计每种产品的销售额,并且根据销售额的大小进行等级划分
-- 销售额 > 10000(含10000) 显示 '高';在5000和10000之间(含5000) 显示'中',其他显示'低'
select od.ProductID,productName,str(isnull(sum(od.UnitPrice*od.Quantity*(1-Discount)),0),20,2) as salesamount,
case
when isnull(sum(od.UnitPrice*od.Quantity*(1-Discount)),0)>=10000 then '高'
when isnull(sum(od.UnitPrice*od.Quantity*(1-Discount)),0)>=5000 and isnull(sum(od.UnitPrice*od.Quantity*(1-Discount)),0)<10000 then '中'
else '低'
end as 'grade'
from [Order Details] as od join products as p on p.productID = od.productID
group by od.ProductID,productName
order by salesamount desc
-- 4. 用while循环语句来完成1加到10
declare @i int,@j int
set @i=1
set @j=0
while @i<11
begin
set @j=@j+@i
set @i=@i+1
end
print @j
-- 5. 用goto语句来完成1加到10
declare @i int,@j int
set @i=1
set @j=0
lab:
set @j=@j+@i
set @i=@i+1
if @i<11
goto lab
else
print @j
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- CentOS下DB2数据库安装过程详解
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- sql2008 还原数据库解决方案
- Oracle 数据库自动存储管理-安装配置
- Oracle 数据库 临时数据的处理方法
- 数据库分页查询语句数据库查询
- 最近比较流行的数据库挂马
- Oracle 手动创建数据库步骤详解
- 分割超大Redis数据库例子