条件判断语句可以作为程序段的逻辑结构跳转,根据不同条件执行不同的程序段,也可以在单条SQL语句内部使用,根据不同条件进行更新选择取值。

三种数据库条件判断语句都有if和case,每种数据库语法存在些微差别。

oracle:

1、if语句:

if condition then

sql_statement

elsif condition then

sql_statement

else

sql_statement

end if;

2、case语句:

case value

when a then

sql_statement;

when b then

sql_statement;

when c then

sql_statement;

when d then

sql_statement;

else

sql_statement;

end case;

case

when condition then

sql_statement;

when condition then

sql_statement;

when condition then

sql_statement;

when condition then

sql_statement;

else

sql_statement;

end case;

3、decode函数

判断条必需等于具体的值,不为大于小于等带比较的数值.decode函数是oracle的特有的判断语句。

例子:decode(性别,'1' ,'男','女')

sqlserver:

1、if语句:由于sqlserver中没有then 和 end if 结束符,所以如果if语句后需要执行包含多条语句的语句块,必须使用begin end 否则只执行一条语句。

if condition

begin

sql_statement

end

else if condition

begin

sql_statement

end

else

begin

sql_statement

end

2case语句

case value

when a then

sql_statement

when b then

sql_statement

when c then

sql_statement

else

sql_statement

end;

case

when condition then

sql_statement

when condition then

sql_statement

when condition then

sql_statement

else

sql_statement

end;

mysql:

1、if语句

IF condition THEN

sql_statement;

ELSEIF condition THEN

sql_statement;

ELSE

sql_statement;

END IF;

2、case语句

CASE value

WHEN a THEN

sql_statement;

WHEN b THEN

sql_statement;

ELSE

sql_statement;

END case ;

CASE

WHEN condition THEN

sql_statement;

WHEN condition THEN

sql_statement;

ELSE

sql_statement;

END CASE;

区别和联系:三种数据库都有if 和case 条件判断语句,但是三种语法还是有区别的。

1、if条件选择语句的区别oracle的elsif是关键字缺一个E;sqlserver的if 语句没有then和end if 关键字,所以需要用begin end 把满足判断条件后需要执行的语句块引起来,否则满足条件后只执行第一条语句,sqlserver的else if 关键字中间需要空格分开;mysql的elseif关键字直接连起来。

2、case when 语句都有两种用法,第一种是有唯一值的条件判断,则把变化的值变量放到case 后,值放到when后即可,如果是判断条件,则case后为空,所有条件都放到when 和then中间执行。

oracle中的if条件判断语句,SQL条件判断语句语法相关推荐

  1. mysql sql判断语句,SQL条件判断语句语法

    条件判断语句可以作为程序段的逻辑结构跳转,根据不同条件执行不同的程序段,也可以在单条SQL语句内部使用,根据不同条件进行更新选择取值. 三种数据库条件判断语句都有if和case,每种数据库语法存在些微 ...

  2. 在Oracle中写出性能优良的SQL语句

    我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习.摘录.并汇总部分资料与大家分享! (1)      选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器 ...

  3. oracle中having的用法,深入浅析SQL中的group by 和 having 用法

    一.sql中的group by 用法解析: Group By语句从英文的字面意义上理解就是"根据(by)一定的规则进行分组(Group)". 作用:通过一定的规则将一个数据集划分成 ...

  4. mysql的查询语句大全_sql语句(sql数据库查询语句大全)

    sql语句 结构化查询语言(StructuredQueryLanguage)缩写为SQL.结构化查询语言是一种数据库查询和编程语言,用于访问数据以及查询,更新和管理关系数据库系统: 程序功能 创建数据 ...

  5. php 中insert into,php – INSERT INTO SQL Heredoc正确的语法

    我正在尝试将带有INSERT INTO MySQL命令的heredoc语法用于数据库. 我面临的问题是变量$tPerson_SQLinsert,这是一个查询. 这是我的代码: $tPerson_SQL ...

  6. oracle多条sql语句常量,如何在Oracle中一次执行多条sql语句

    有时我们需要一次性执行多条sql语句,而用来更新的sql是根据实际情况用代码拼出来的 解决方案是把sql拼成下面这种形式: begin update TB_VG set seq = 1, vessel ...

  7. ado.net Oracle中一次执行多条sql语句

    begin  update TB_VG set seq = 1, vessel_id = 'Jin14', vessel_type = 'TRACK' where batch_number = '20 ...

  8. oracle中or会使索引,为何查询条件中多了 OR 选项,索引就走全扫描?

    ORACLE 11204, SOLARIS 如下:原始写法,where 条件中,有 OR 条件,这时,索引 IDX_BD_LOTMASTER_NO 走全索引扫描,导致效率非常低, -bash-3.2$ ...

  9. oracle 修改索引的名称,Oracle中查询索引名称,批量修改索引名称语句

    在Oralce数据库数据优化过程中,对源数据表处理,原则上是做更名备份,作为被查或回退使用,所以,有修改数据表名后重新建表的操作,这样,往往也需要修改索引.主键.外键名称,方便重建,为了方便.快速生成 ...

最新文章

  1. 让我们一起Go(十三)
  2. [Eclipse]代码已被写入关于如何切换到unix在新行
  3. 修改 jquery.validate.js 支持非form标签
  4. 【Zookeeper学习】Apache Zookeeper项目简介
  5. TensorRT加速ENet
  6. 苹果电脑屏幕刷新率如何调整
  7. 狗汪汪玩转嵌入式——I2C 协议分析
  8. VGG19 基本网络结构图
  9. 医疗管理核心制度之 十八、信息安全管理制度
  10. 读书笔记《松本行弘的程序世界》
  11. Dual DSI on msm8937
  12. 工商业与信息业的关系
  13. 694.27公斤何登骥360搜索热头条 北方旱作国稻种芯功能水稻
  14. 解决 filezilla 连接服务器失败问题
  15. 万物互联的灵鹫山,取经的华为
  16. 量子计算(十):量子计算原理
  17. 基于微信小程序房屋出租民宿预定app设计
  18. Spark:reduceByKey与groupByKey进行对比
  19. Python文件操作-写文本文件
  20. 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 ‘xxx‘ 中的标识列插入显式值。 java解决方案

热门文章

  1. python人脸识别门禁系统毕设_人脸识别 宿舍门禁系统(python qt opencv带数据库)
  2. java计算机毕业设计ssm+jsp成都美食推荐系统
  3. OICQ服务器系统通讯协议
  4. 闲话中国人的竖式乘法和埃及人的二分乘法
  5. oracle update语句提交,Oracle UPDATE语句使用示例
  6. 画出计算机硬件结构框图,计算机组成原理点题集1.doc
  7. Mybtatis Plus框架selectById(Serializable id) 方法为什么可以传入Integer类型
  8. Ubuntu16.04 开发环境配置
  9. 3D点云基础知识(二)-bilibili视频资源整理(二)鞋点胶点云轮廓提取
  10. 汉字对应的ASCLL