SQL CASE语句的使用

CASE是一个控制流语句,其作用与IF-THEN-ELSE语句非常相似,可根据数据选择值。 CASE语句遍历条件并在满足第一个条件时返回值。 因此,一旦条件成立,它将短路,从而忽略后面的子句并返回结果。 正如我们在今天的博客中看到的那样,它可以用来测试条件和离散值。

基本语法

CASE语句有两种形式:

第一种评估一个或多个条件,并返回第一个符合条件的结果。 如果没有条件是符合的,则返回ELSE子句部分的结果,如果没有ELSE部分,则返回NULL:

CASE

WHEN condition1 THEN result1

WHEN condition2 THEN result2

WHEN conditionN THEN resultN

ELSE result

END;

第二种CASE句法返回第一个value = compare_value比较结果为真的结果。 如果没有比较结果符合,则返回ELSE后的结果,如果没有ELSE部分,则返回NULL:

CASE compare_value

WHEN condition1 THEN result1

WHEN condition2 THEN result2

WHEN conditionN THEN resultN

ELSE result

END;

示例:

要尝试使用CASE语句,我们将使用Navicat Premium编写一些针对Sakila示例数据库的查询。 它是一个功能强大的数据库开发和管理工具,可以同时连接到大多数主流的数据库,其中包括MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL、以及SQLite数据库。 它还兼容许多云数据库,例如Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、Google Cloud、以及MongoDB Atlas。

语法1

这是一个选择电影标题以及它们的发行年份和租赁价格列表的查询:



我们将添加一个列,将租赁价格分为三类:“discount”,“regular”和“premium”。 价格范围是:

低于2.99美元

2.99-4.99美元之间

4.99美元或以上

声明:本人只是为了个人学习所用。

最新文章

  1. Github上传自己的工程
  2. NSString进行urlencode编码
  3. atitit..代码生成流程图 流程图绘制解决方案 java  c#.net  php v2
  4. 常用js正则归类
  5. HttpURLConnection发送POST请求(可包含文件)
  6. 深入理解HBase Memstore
  7. ubuntu中vim找不到配色方案blackboard
  8. ORA-00600: 内部错误代码, 参数: [kqlnrc_1]
  9. Problem and Solution Code Snippets
  10. 从 JavaScript 到 TypeScript
  11. SpringCloud的服务注册中心(四)- 高可用服务注册中心的搭建
  12. microk8s
  13. Jenkins+Gradle+Git自动打apk包,并上传到ftp
  14. HTML、CSS知识点,面试开发都会需要--No.3 盒子模型
  15. 【转】两道面试题,带你解析Java类加载机制(类初始化方法 和 对象初始化方法)
  16. [模式匹配] AC 自动机 模式匹配
  17. Unity3D规则之Unity Root Motion / Bake into Pose 的问题
  18. HDU 2391 Filthy Rich (dp)
  19. hihoCoder #1183 : 连通性一·割边与割点(求割边与各点模板)
  20. laravel 如何引入自己的函数或类库

热门文章

  1. SLF4J 日志门面
  2. lerna源码阅读
  3. elastic-job和spring cloud版本冲突2
  4. 作业一、安装Ubuntu系统
  5. CF1703B ICPC Balloons 题解
  6. NoSQL,关系型数据库,行列数据库对比、类比
  7. 基于gitlab 15.1 pages 搭建内部博客一定行版本
  8. 渲染优化中那些奇奇怪怪的rules
  9. LabVIEW图形化的AI视觉开发平台(非NI Vision),大幅降低人工智能开发门槛
  10. The Art of Code