参考:

https://blog.csdn.net/jialexiaoxuan/article/details/134524912

MySQL数据库中,IF语句是一种条件控制语句,用于根据某些条件的真假来执行不同的代码逻辑。IF语句可以帮助我们在SQL查询中实现更复杂的逻辑操作。

1、IF语句的基本用法

IF(condition, true_statement, false_statement);

condition: 条件表达式,可以是任何返回布尔值的表达式。 true_statement: 如果条件为真,则执行的语句。 false_statement: 如果条件为假,则执行的语句。

在普通的查询中,如果需要根据查询的值做代码的转化:

SELECT id, name, score, IF(score >= 90, 'A', IF(score >= 80, 'B', 'C')) AS grade FROM students;

2、IF语句的进阶用法

除了基本的IF语句外,MySQL还提供了一些其他用于处理条件逻辑的语句和函数,例如:CASE语句、IFNULL函数等。下面我们将介绍一些常见的进阶用法。

CASE语句

CASE expression
    WHEN value1 THEN result1
    WHEN value2 THEN result2
    ...
    ELSE result
END;

expression: 表达式,用于进行比较的值。 WHEN value THEN result: 当expression等于value时,返回result。 ELSE result: 如果没有匹配的条件,则返回result。

SELECT id, name, price,
    CASE
        WHEN price > 1000 THEN '高价'
        WHEN price > 500 THEN '中价'
        ELSE '低价'
    END AS price_range
FROM products;

IFNULL函数

FNULL函数用于判断一个表达式是否为NULL,并在为NULL时返回一个指定的值。

IFNULL函数的基本语法如下:

IFNULL(expression, value); expression: 表达式,用于判断是否为NULL。 value: 如果expression为NULL,则返回的值。