首页 > 数据库 > mysql教程 > 如何使用SQL的CASE语句实现If-Then-Else逻辑?

如何使用SQL的CASE语句实现If-Then-Else逻辑?

Barbara Streisand
发布: 2024-12-29 05:10:11
原创
339 人浏览过

How Can I Implement If-Then-Else Logic Using SQL's CASE Statement?

SQL 中的 If-Then-Else 逻辑

SQL 提供使用 CASE 语句执行条件逻辑的能力。虽然它可能不提供 if-then-else 结构的直接语法,但它使您能够定义一系列条件和相应的操作。

问题:

假设您想要根据特定优先级从表中选择数据:

  • 如果项目有记录,则返回
  • 如果客户有记录,请返回。
  • 如果公司有记录,请返回。

使用 CASE 的解决方案:

SELECT product, price
FROM table1
WHERE CASE
  WHEN EXISTS (SELECT 1 FROM table1 WHERE project = 1) THEN 1
  WHEN EXISTS (SELECT 1 FROM table1 WHERE customer = 2) THEN 2
  WHEN EXISTS (SELECT 1 FROM table1 WHERE company = 3) THEN 3
  ELSE NULL
END IS NOT NULL;
登录后复制

此查询按顺序评估每个条件。如果project有记录,则返回匹配的行;否则,它会检查客户,然后检查公司。仅选择满足任何条件的行。

示例:

下表包含一些示例数据:

product price project customer company
A 10 1 NULL NULL
B 20 NULL 2 NULL
C 30 NULL NULL 3

正在执行查询将返回以下结果:

product price
A 10

因为有一行包含project = 1、忽略其他条件,选择产品“A”的行。

以上是如何使用SQL的CASE语句实现If-Then-Else逻辑?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板