6、自行设计一个多条件查询问题,并使用 CASE 语句去解决,要求 CASE 后面没有任何参数 表达式,在 WHEN 子句后接有比较表达式,更加比较表达式的值,执行相对应的 THEN 后面的 语句。
时间: 2024-04-30 08:25:15 浏览: 10
假设有一个学生成绩表格,包含学生姓名、科目和成绩三个字段,现在想要查询数学成绩大于80分且语文成绩大于70分的学生姓名。
使用 CASE 语句可以如下解决:
```
SELECT
name
FROM
score
WHERE
subject = 'math' AND
CASE
WHEN score >= 80 THEN 1
ELSE 0
END = 1 AND
subject = 'chinese' AND
CASE
WHEN score >= 70 THEN 1
ELSE 0
END = 1;
```
在这里,我们使用了两个 CASE 语句分别判断数学成绩和语文成绩是否达到了要求。如果成绩达到要求,则返回 1,否则返回 0。然后再使用 AND 连接条件,筛选出符合要求的学生姓名。需要注意的是,由于使用了 CASE 语句,这里的 WHERE 子句不能直接使用 score 字段,而是需要在 CASE 语句中进行比较。
相关问题
mysql case后面表达式
MySQL中的CASE语句用于根据条件返回不同的结果表达式。CASE语句有两种格式:简单CASE函数和搜索CASE函数。在搜索CASE函数中,可以在每个WHEN子句后面跟随一个表达式,这个表达式将在满足WHEN子句条件时被返回。如果没有任何WHEN子句的条件被满足,那么ELSE子句中的表达式将被返回。下面是一个MySQL搜索CASE表达式的例子:
```mysql
SELECT column1, column2,
CASE
WHEN column3 = 'value1' THEN 'result1'
WHEN column3 = 'value2' THEN 'result2'
ELSE 'result3'
END AS result
FROM table1;
```
在这个例子中,如果column3的值等于'value1',那么'result1'将被返回;如果column3的值等于'value2',那么'result2'将被返回;否则'result3'将被返回。最终的结果将包括column1、column2和result三列。
sql where 中case语句then后面不设置条件,应该在then后面写什么
如果在 SQL 的 WHERE 子句中使用 CASE 表达式,那么必须在 THEN 子句之后提供一个条件。否则,WHERE 子句将无法确定表达式是否为真或假。因此,您应该在 THEN 子句后面指定一个条件,例如:
```
SELECT * FROM your_table WHERE
CASE
WHEN some_column = 'value1' THEN 1
WHEN some_column = 'value2' THEN 2
ELSE 0
END = 1;
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)