Sql中的分支语句

一、使用IF/ELSE关键字。
    
IF...ELSE 指定 Transact-SQL 语句的执行条件。如果满足条件,则在 IF 关键字及其条件之后执行 Transact-SQL 语句:布尔表达式返回 TRUE。可选的 ELSE 关键字引入另一个 Transact-SQL 语句,当不满足 IF 条件时就执行该语句:布尔表达式返回 FALSE
1、语法 
     IF Boolean_expression 
         { sql_statement | statement_block } 
     [ ELSE 
         { sql_statement | statement_block } ] 
2、参数 
Boolean_expression 
       返回 TRUE 或 FALSE 的表达式。如果布尔表达式中含有 SELECT 语句,则必须用括号将 SELECT 语句括起来。
{ sql_statement | statement_block } 
       任何 Transact-SQL 语句或用语句块定义的语句分组。除非使用语句块,否则 IF 或 ELSE 条件只能影响一个 Transact-SQL 语句的性能。 
若要定义语句块,请使用控制流关键字 BEGIN  END
3、示例 
    假设有一学生表(student),表中有两列为名称(name)和年龄(age):
     IF((SELECT COUNT(name) FROM student WHERE name='张三')>0)
        BEGIN
             UPDATE student SET age='22' WHERE name='张三'
        END
     ELSE
        INSERT INTO student (name,age) VALUES ('张三','22')

二、使用CASE语句。

【CASE】语句主要有以下两种格式
格式1
Case <算术表达式>
     When<算术表达式>  then <算术表达式>
      ........................
     When<算术表达式>  then <算术表达式>
    [Else <算术表达式>]
End

格式2:
Case 
    When<算术表达式>  then <算术表达式>
    ...........................
    When<算术表达式>  then <算术表达式>
    [Else <算术表达式>]
End

例:给学生的成绩评定等级
    >=85优秀
    >=70 良好
    >=60 及格
    其他  不及格
   Select    姓名,成绩, 
              Case 
                   When 成绩>=85 then ’优秀’
                   When 成绩>=70 then ‘良好’
                   When 成绩>=60 then ‘及格’
                   Else ‘不及格’
               End as 等级
      From 学生表

转载于:https://www.cnblogs.com/xuanfeng5915/archive/2008/04/14/1152675.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值