MySQL 简单case语句范围查询表达式值该怎么写成范围形式
时间: 2023-07-15 17:10:54 浏览: 115
假设你要进行范围查询的列名为`score`,查询条件为:当`score`为1、2、3时,返回值为“不及格”;当`score`为4或5时,返回值为“及格”;当`score`为6或7时,返回值为“中等”;当`score`为8或9时,返回值为“良好”;当`score`为10时,返回值为“优秀”。
你可以使用以下SQL语句进行范围查询:
```
SELECT
score,
CASE
WHEN score IN (1,2,3) THEN '不及格'
WHEN score IN (4,5) THEN '及格'
WHEN score IN (6,7) THEN '中等'
WHEN score IN (8,9) THEN '良好'
WHEN score = 10 THEN '优秀'
END AS score_level
FROM
your_table;
```
其中,`IN`关键字可以用来表示多个值之间的范围。这里使用了`CASE`语句将查询结果按照条件进行分类,将`score`的取值范围映射为对应的等级。最后使用`AS`关键字为查询结果重命名为`score_level`。
相关问题
MySQL 简单case语句范围查询表达式值该怎么写成区间形式
如果你想在 MySQL 中使用简单 CASE 语句进行区间形式的范围查询,可以使用 BETWEEN 和 AND 运算符来表示区间。例如:
```
SELECT
CASE
WHEN age BETWEEN 0 AND 18 THEN '未成年人'
WHEN age BETWEEN 19 AND 40 THEN '青年人'
WHEN age BETWEEN 41 AND 60 THEN '中年人'
ELSE '老年人'
END AS age_group
FROM users;
```
在上面的例子中,我们使用了 BETWEEN 和 AND 运算符来表示年龄的区间,根据不同的年龄段返回不同的分类标签。注意,BETWEEN 运算符是包含边界的,如果你想排除某个边界,可以使用 < 或 > 运算符。
MySQL用case语句
MySQL的CASE语句是一种条件选择语句,用于根据特定的条件返回不同的值。它的工作原理类似于其他编程语言中的三元表达式,但在SQL中更加强大,可以处理复杂的判断逻辑。CASE结构通常包含以下几个部分:
1. **WHEN**部分:指定每个可能的条件,如果某个条件满足,就会执行对应的`THEN`操作。
2. **WHEN...ELSE**部分:这是可选的,如果所有WHEN都不匹配,那么会执行这个ELSE后的操作。
3. **END CASE**:标志着CASE语句的结束。
一个基本的CASE结构可能像这样:
```sql
SELECT column_name,
CASE
WHEN condition THEN result_if_true
ELSE result_if_false
END AS new_column
FROM table_name;
```
例如,如果你想根据不同年龄段将年龄分为儿童、青少年、成人和老年,你可以这样做:
```sql
SELECT age,
CASE
WHEN age BETWEEN 0 AND 12 THEN '儿童'
WHEN age BETWEEN 13 AND 18 THEN '青少年'
WHEN age BETWEEN 19 AND 64 THEN '成人'
ELSE '老年'
END AS age_group
FROM users;
```
阅读全文