SQL where 语句后面可以接case when 吗
时间: 2023-07-25 22:34:39 浏览: 151
oracle where case when where后面跟case when
是的,`WHERE` 语句可以接 `CASE WHEN` 子句,这可以用来根据条件选择不同的数据集。以下是一个例子:
```
SELECT * FROM employees
WHERE CASE WHEN department = 'Sales' THEN salary * 1.1
WHEN department = 'Marketing' THEN salary * 1.05
ELSE salary END > 50000
```
这个查询将选择工资高于 50000 的员工数据,其中 `salary` 字段将根据所在部门而有所不同。如果员工所在部门是 "Sales",他们的工资将会增加 10%,如果是 "Marketing",工资将会增加 5%。如果员工所在部门不是 "Sales" 或 "Marketing",则按原始工资计算。
请注意,这只是一个示例,实际上你可以根据情况使用 `CASE WHEN` 子句来构建更复杂的 `WHERE` 语句。
阅读全文