码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2020-01-25 14:14:19      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:图片   nbsp   sql基础   sql语句   组合   from   厨房   abc   cas   

虽然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表达式

标签:图片   nbsp   sql基础   sql语句   组合   from   厨房   abc   cas   

原文地址:https://www.cnblogs.com/MarlonKang/p/12232972.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!