MySQL D4

作者: 在海的那边有只小倩 | 来源:发表于2018-12-16 00:03 被阅读0次

    Case When语句

    先执行第一个条件,然后执行第二个条件。。。依次类推

    SELECT 列名, 

    CASE WHEN [condition] THEN result 

              WHEN [condition] THEN result 

              WHEN [condition] THEN result 

             WHEN [condition] THEN result 

             … 

             ELSE result END

    FROM table_name; 


    IF语句

    IF (condition,result_true,result_false),AS table_name


    判断空值Null Value

    通过IS NULL语句判断是否为空值

    CASE WHEN 列名 IS NULL THEN 'TRUE' ELSE 'FALSE' END

    注:在工作中以下三种情况(① NULL ②‘NULL’③ (全部是空格))都是无 效值,但在用代码处理时处理方法有不同的处理方法,所以要用不同的语句根据不 同的情况进行更改。


    练习

    USE ClassicModels; 

    给OrderDetails新加两列

    列1: Price_Range, 基于priceEach获得

    添加一个名为Price_Range的列,在OrderDetails中有一列名为priceEach(单 价),单价有不同的数值,新的一列的内容是根据单价判断后的内容,是便宜中等还是贵,具体的判断标准如下: 0 <= priceEach <= 50, Cheap 51 <= priceEach <= 100, Medium priceEach >= 101, Expensive (此列用case when完成)

    列2: Volume_Range, 基于quantityOrdered获得

    添加一个名为Volume_Range的列,在OrderDetails中有一列名为 quantityOrdered(订单数量), 订单数量有不同的数值,新的一列的内容是根据订单数量判断后的内容,是高还是低,具体的判断标准如下: quantityOrdered <= 40, Low quantityOrdered > 40, High (此列用IF或Case when完成)

    提示:可以通过一段话来创造2个新的列。

    答案

    #调用数据库

    USE ClassicModels;

    ## 给OrderDetails新加两列

    /* 列1: Price_Range, 基于priceEach获得

    0 <= priceEach <= 50, Cheap

    51 <= priceEach <= 100, Medium

    priceEach >= 101, Expensive

    此列用case when完成

    */

    SELECT priceEach,

    (CASE WHEN priceEach BETWEEN 0 AND 50 THEN 'Cheap'

      WHEN priceEach BETWEEN 51 AND 100 THEN 'Medium'

      ElSE 'Expensive' END) AS Price_Range

    FROM orderdetails;

    /*列2: Volume_Range, 基于quantityOrdered获得

    quantityOrdered <= 40, Low

    quantityOrdered > 40, High

    此列用IF或Case when完成

    */

    SELECT quantityOrdered,

    (IF(quantityOrdered<=40 ,'Low', 'High')) AS Volume_Range1

    FROM orderdetails;

    SELECT quantityOrdered,

    (CASE WHEN quantityOrdered<=40 THEN 'Low'

    ELSE 'High' END) AS Volume_Range2

    FROM orderdetails;

    相关文章

      网友评论

          本文标题:MySQL D4

          本文链接:https://www.haomeiwen.com/subject/qyuzhqtx.html