SQl Server——流程控制语句

 思维导图

语句

IF...ELSE语句:条件处理语句

IF Boolean_expression

{sql_statement|statement_block}

ELSE

{sql_statement|statement_block}

需求:查询成绩表sc编号为801,学科为01这门课程所有学生的平均分,以此来对学生表现进行评价

declare @num int                          --声明变量
select @num=avg(score)                    --给变量赋值为平均分
from sc
where 课程编号='801' and CId='01'          --指定查询
if @num>90                                --if...else语句判断平均分是否大于90
begin
    print '这门课学生学得非常不错!'        --打印结果
end
else
    print '这门课学生还需要继续努力!'

输出结果:                             

                                     


IF...ELSE语句嵌套

需求:查询成绩表sc编号为801,学科为01这门课程所有学生的平均分,对查询到的平均分按等级输出相应的语句

declare @num int
select @num=avg(score)
from sc
where 课程编号='801' and CId='01'

if @num>=60
begin
    if @num<70
        print'成绩刚刚及格,还要继续努力!'
    else if @num<80
        print'成绩中等'
    else if @num<90
        print'成绩良好'
    else print'成绩优秀,希望把经验与大家分享分享!'
end
else
    print'这一科学生们还需要加把劲啊!'

输出结果:

                                              


Case语句:分支语句​​​​​​​

  • 简单CASE表达式:
    CASE expression
        WHEN value1 THEN result1
        WHEN value2 THEN result2
        ...
        ELSE result
    END
    
  • 搜索CASE表达式:
    CASE
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        ...
        ELSE result
    END

现有如下员工信息表:

需求:根据每个员工的所在职位分发员工职称

select 员工姓名, 所在职位, 员工职称=     --设置要显示的列
case 所在职位                           --case,判断条件为所在职位字段
when '经理' then '高级职称'             --所在职位为经理的员工,职称为高级职称
when '主管' then '中级职称'
when '普通职员' then '初级职称'
else '其他职称'
end 
from 新员工信息                         --要查询的表

输出结果:                             

                                                               


While语句:循环语句。执行一段重复的语句

WHILE_E Boolean_expression                循环条件
{sql_statement | statement_block}
[BREAK]                                                   break跳出整个循环
{sql_statement | statement_block}
[CONTINUE]                                            continue跳出本次循环执行下次循环
{sql_statement | statement_block}

需求:执行1~100的累加

declare @i int, @sum int       --声明变量
set @i=1                       --给变量赋初值
set @sum=0
while @i<=100
begin
    set @sum=@sum+@i            --对和进行累加
    set @i=@i+1
end
    print @sum                 --使用print函数打印和

执行结果:


总结

通过这次对SQL的学习让我大跌眼界,发现原来不是只有像vb、C这些编程语言才有流程控制语句,数据库也是有的,只是以前不知道。要学的东西真的很多,但每一门语言之间它们都是会有共通的地方,比如流程控制语句!所以我们在学习中要善于去发现那些相通的地方,及时总结相同之处,通过一遍一遍的学习在之前的基础上进行累加得到升华!多练习!!​​​​​​​

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
在Java小程序中,权限控制是一个重要的设计方面,可以确保用户只能访问其具有权限的功能和数据。下面是一个简单的权限控制设计示例: 1. 定义角色和权限:首先,你需要定义系统中的角色和相应的权限。例如,角色可以是管理员、普通用户等,权限可以是查看、编辑、删除等。 2. 用户管理:实现一个用户管理系统,用于管理用户信息、角色分配和权限分配等。每个用户应该被分配一个或多个角色。 3. 权限检查:在程序中的关键功能点,例如访问某个页面或执行某个操作之前,需要进行权限检查。可以在代码中使用条件语句或者AOP(面向切面编程)等技术来实现权限检查。 4. 页面级权限控制:对于页面级别的权限控制,可以在前端或后端进行处理。前端可以根据用户的角色和权限动态展示或隐藏页面的某些部分。后端可以在接收到用户请求时进行权限检查,如果用户没有相应的权限,则返回错误信息或重定向到其他页面。 5. 数据级权限控制:除了页面级别的权限控制,还需要对数据进行权限控制。即使用户有访问某个功能的权限,也可能只能访问自己创建的数据或者具有共享权限的数据。在数据库查询或更新数据时,可以根据用户的角色和权限添加相应的过滤条件。 6. 安全性考虑:在权限控制设计中,还需要考虑一些安全性问题。例如,密码的加密存储、防止跨站脚本攻击(XSS)和SQL注入等。可以使用密码哈希算法来存储密码,使用输入验证和输出编码来防止攻击。 请注意,以上只是一个简单的权限控制设计示例,实际的设计可能会更加复杂,取决于你的具体需求和系统规模。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小乔努力变强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值