SQL-流程控制语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.变量的定义、赋值、输出
a)定义三个变量name、num、birthday,分别赋值'Mike'、18、'2014-9-1'并输出2.If语句的用法
a)If语句的练习
b)If…else…语句的练习
c)Begin…end语句的练习
3.查询少数民族学生中是否有党员,如果有输出党员人数,如果没有就输出“少数民族学生没有党员!”
declare @num int
select @num=count(*) from
学生基本信息表
where 民族<> '民族' and 政治面貌='党员'
if @num>0
print '少数民族有'+convert(varchar(10),@num)+'人'
else
print 'error!'
4.查询是否有书的定价高于指定价格的书,如果有输出该书的信息,如果没有就输出“对不起,不存在高于***的书”
if exists(select * from
book1
where 定价>2200)
select * from
book1
where 定价>2200
else
print 'sorry,不存在高于2200的书'
5.Case的两种用法
a)例1:如果变量c的值为a,则country为America;如果变量c的值为b,则country
为Britain;如果变量c的值为c,则country为China;如果变量c的值为d,则country
为Demark;否则country的值为Japan
use book
declare @c char(10),@country char(10)
set @c='a'
set @country=
case
when @c='a' then'America'
when @c='b' then'Britain'
when @c='c' then'China'
when @c='d' then'Demark'
else 'Japan'
end
print @country
b)例2 :如果成绩高于100分,则输出“优秀”;如果成绩高于90分,则输出“良
好”;如果成绩高于80分,则输出“合格”,否则,输出“不合格”
use book
declare @score char(10),@grade char(10)
set @score=90
set @grade=
case
when @score=100 then'优秀'
when @score>90 then'良好'
when @score>80 then'合格'
else '不合格'
end
print @grade
6.输出宿舍楼号所住的是哪个系
use book
declare @xibu char(10),@louhao char(10)
set @louhao=2
set @xibu=
case
when @louhao=2 then'经济管理系'
when @louhao=3 then'食品工程系'
when @louhao=5 then'信息技术系'
when @louhao=7 then'英语系'
end
print @xibu
7.从book1表中,选取书名、出版社,如果出版社为“中国长安”则输出‘最有实力的出版社’,如果出版社为“海南”,则输出“影响力最强的出版社”
use book
select 书名,出版社=
case 出版社
when '中国长安' then '最有实力的出版社'
when '海南' then '影响力最强的出版社'
end
from book1
where 出版社in('中国长安','海南')
8.显示所有学生的学号,课程和成绩等级,等级标准为:优秀(85-100)、良好(75-84)、合格(60-74)、不合格(60分以下)
9。根据学号和课程号,输出该学生在该门课程的成绩等级,等级标准为:优秀(85-100)、良好(75-84)、合格(60-74)、不合格(60分以下),如果没有该学号或课程号,则输出“学号或课程号不存在!”