如何在MySQL CASE表达式中使用「OR」条件?
在MySQL CASE表达式中设置与「OR」相同的条件。首先创建一个示例表。
以下是查询:
mysql> create table caseOrConditionDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(100),
-> Score int
-> );
Query OK, 0 rows affected (0.49 sec)
以下是使用插入命令向表中插入一些记录的查询:
mysql> insert into caseOrConditionDemo(Name,Score) values('Larry',85);
Query OK, 1 row affected (0.18 sec)
mysql> insert into caseOrConditionDemo(Name,Score) values('Sam',74);
Query OK, 1 row affected (0.20 sec)
mysql> insert into caseOrConditionDemo(Name,Score) values('Mike',76);
Query OK, 1 row affected (0.16 sec)
mysql> insert into caseOrConditionDemo(Name,Score) values('Carol',65);
Query OK, 1 row affected (0.20 sec)
以下是使用SELECT命令显示来自表的记录的查询:
mysql> select *from caseOrConditionDemo;
这将产生以下输出:
+----+-------+-------+
| Id | Name | Score |
+----+-------+-------+
| 1 | Larry | 85 |
| 2 | Sam | 74 |
| 3 | Mike | 76 |
| 4 | Carol | 65 |
+----+-------+-------+
4 rows in set (0.00 sec)
以下是在MySQL CASE表达式中使用类似「OR」的条件的查询:
mysql> select Id,Name,Score,
-> case when Score > 75 then '更好的分数'
-> when Score > 70 then '好的分数'
-> else '分数不好'
-> end as '表现'
-> from caseOrConditionDemo;
这将产生以下输出:
+----+-------+-------+----------------+
| Id | Name | Score | 表现 |
+----+-------+-------+----------------+
| 1 | Larry | 85 | 更好的分数 |
| 2 | Sam | 74 | 好的分数 |
| 3 | Mike | 76 | 更好的分数 |
| 4 | Carol | 65 | 分数不好 |
+----+-------+-------+----------------+
4 rows in set (0.04 sec)
阅读更多:MySQL 教程