case when可以跟在where
时间: 2023-04-18 08:01:33 浏览: 48
语句中使用,用于根据条件进行筛选和过滤数据。例如:
SELECT *
FROM table_name
WHERE CASE
WHEN column_name = 'value1' THEN 1
WHEN column_name = 'value2' THEN 2
ELSE 3
END = 1;
这个查询语句会返回所有 column_name 等于 'value1' 的行。
相关问题
mysql where后面跟case when
你可以在MySQL的WHERE子句中使用CASE WHEN语句来进行条件判断和筛选。下面是一个示例:
```
SELECT *
FROM your_table
WHERE CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result3
END;
```
在上面的示例中,你可以根据不同的条件进行筛选。如果condition1为真,则使用result1进行筛选;如果condition2为真,则使用result2进行筛选;否则,使用result3进行筛选。根据你的具体需求,你可以根据条件编写不同的逻辑。
请注意,在WHERE子句中使用CASE WHEN语句可能会影响查询的性能。在处理大量数据时,请确保适当地使用索引来提高查询效率。
case when where
CASE WHEN语句可以在WHERE条件中作为条件之一,也可以在SELECT语句中作为结果。在WHERE条件中,CASE WHEN语句的结果和1进行比较,如果相等则表示条件满足,即进行过滤。在SELECT语句中,CASE WHEN语句可以根据条件返回不同的结果。下面是两个例子:
1.在WHERE条件中使用CASE WHEN语句作为条件之一
```sql
SELECT * FROM table_name
WHERE CASE WHEN condition_1 THEN 1
WHEN condition_2 THEN 1
ELSE 0
END = 1
AND condition_3 = 'xxx';
```
其中,condition_1和condition_2表示需要满足的条件,如果满足其中之一,则将CASE WHEN语句的结果设为1,否则设为0。如果CASE WHEN语句的结果等于1,并且condition_3等于'xxx',则将该行数据返回。
2.在SELECT语句中使用CASE WHEN语句作为结果
```sql
SELECT column_1, column_2,
CASE WHEN condition_1 THEN 'A'
WHEN condition_2 THEN 'B'
ELSE 'C'
END AS result
FROM table_name
WHERE condition_3 = 'xxx';
```
其中,condition_1和condition_2表示需要满足的条件,如果满足其中之一,则将CASE WHEN语句的结果设为'A'或'B',否则设为'C'。将结果命名为result并返回。