case when可以跟在where
时间: 2023-04-18 10:01:33 浏览: 85
语句中使用,用于根据条件进行筛选和过滤数据。例如:
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' 的行。
相关问题
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并返回。
case when和where
当你需要在SQL查询中根据条件进行逻辑判断和筛时,可以使用CASE WHEN和WHERE语句。
CASE WHEN语句用于在查询结果中根据条件进行值的替换或者计算。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应条件满足时的结果。ELSE子句是可选的,用于指定当所有条件都不满足时的默认结果。
WHERE语句用于在查询中筛选满足特定条件的行。它的基本语法如下:
```
SELECT column1, column2, ...
FROM table_name
WHERE condition;
```
其中,column1、column2等是要查询的列名,table_name是要查询的表名,condition是筛选条件。只有满足条件的行才会被返回。