SQL基础教程(第2版)第6章 函数谓词CASE表达式:6-3 CASE表达式

Posted 绍耕

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL基础教程(第2版)第6章 函数谓词CASE表达式:6-3 CASE表达式相关的知识,希望对你有一定的参考价值。

第6章 函数、谓词、CASE表达式:6-3 CASE表达式

虽然CASE表达式中的ELSE子句可以省略,但为了让SQL语句更加容易理解,还是希望大家不要省略。 
CASE表达式中的END不能省略。
使用CASE表达式能够将SELECT语句的结果进行组合。


什么是CASE表达式

CASE 表达式是在区分情况时使用的,这种情况的区分在编程中通常称为(条件)分支

CASE表达式的语法

下面就让我们赶快来学习一下搜索 CASE 表达式的语法吧。

■ CASE表达式的使用方法


 
ELSE 子句也可以省略不写,这时会被默认为 ELSE NULL。但为了防止有人漏读,还是希望大家能够显示地写出 ELSE 子句。

 

--mysql
-- MySQL中使用IF代替CASE表达式
SELECT  product_name,
        IF( IF( IF(product_type = \'衣服\',  CONCAT(\'A:\', product_type), NULL)
                    IS NULL AND product_type = \'办公用品\', CONCAT(\'B:\', product_type), 
                IF(product_type = \'衣服\',  CONCAT(\'A:\', product_type), NULL))
                    IS NULL AND product_type = \'厨房用具\', CONCAT(\'C:\', product_type), 
                    IF( IF(product_type = \'衣服\',  CONCAT(\'A:\', product_type), NULL)
                    IS NULL AND product_type = \'办公用品\', CONCAT(\'B:\', product_type), 
                IF(product_type = \'衣服\',  CONCAT(\'A:\', product_type), NULL))) AS abc_product_type
  FROM Product;

CASE表达式的书写位置


 

以上是关于SQL基础教程(第2版)第6章 函数谓词CASE表达式:6-3 CASE表达式的主要内容,如果未能解决你的问题,请参考以下文章

SQL基础教程(第2版)第6章 函数谓词CASE表达式:6-3 CASE表达式

SQL基础教程(第2版)第6章 函数谓词CASE表达式:练习题

SQL基础教程(第2版)第3章 聚合与排序:3-1 对表进行聚合查询

SQL基础教程(第2版)第3章 聚合与排序:3-2 对表进行分组

SQL基础教程(第2版)第4章 数据更新:4-2 数据的删除(DELETE)

SQL基础教程(第2版)第8章 SQL高级处理:8-1 窗口函数