SQL SELECT 语句中的条件逻辑:综合指南
SQL 通常需要 SELECT
语句中的条件逻辑来修改或过滤数据。 CASE
语句提供了一种多功能解决方案,支持多种 SQL 方言。
要模仿 IF...THEN
查询中的 SELECT
结构,请使用 CASE
语句,如下所示:
<code class="language-sql">SELECT CAST( CASE WHEN condition1 OR condition2 THEN value_if_true ELSE value_if_false END AS data_type) AS new_column, * FROM table_name;</code>
以下是语法细分:
condition1
和 condition2
:评估条件。value_if_true
和 value_if_false
:根据条件为 true 或 false 返回的值。data_type
:new_column
结果的数据类型。table_name
:从中选择数据的表。例如,要向 Saleable
表添加 Product
列,根据 Obsolete
和 InStock
状态指示产品可用性:
<code class="language-sql">SELECT CAST( CASE WHEN Obsolete = 'N' OR InStock = 'Y' THEN 1 ELSE 0 END AS bit) AS Saleable, * FROM Product;</code>
简化版本,省略CAST
,产生整数结果:
<code class="language-sql">SELECT CASE WHEN Obsolete = 'N' OR InStock = 'Y' THEN 1 ELSE 0 END AS Saleable, * FROM Product;</code>
CASE
语句可以嵌套或集成到聚合函数中。 此外,SQL Server 2012引入了IIF
语句,提供了另一种简洁的语法:
<code class="language-sql">SELECT IIF(Obsolete = 'N' OR InStock = 'Y', 1, 0) AS Saleable, * FROM Product;</code>
这简化了 SELECT
语句中的条件逻辑,提供数据操作的灵活性和效率。
以上是如何在 SQL SELECT 语句中执行条件逻辑?的详细内容。更多信息请关注PHP中文网其他相关文章!