SQL 查询示例:描述条件处理


问题:编写一个 SQL 查询以显示两列。第一列应包含 ORDER_ID,第二列应根据 ORDER_TOTAL > 500 显示 YES/NO 表示是否享受免运费。

解决方案

显示 ORDER_ID 和基于 ORDER_TOTAL 条件的免运费结果的查询可以如下编写。

示例

SELECT ORDER_ID,
   CASE WHEN ORDER_TOTAL > 500 THEN ‘YES’
      ELSE ‘NO’ AS FREE_SHIPPING
   END
FROM ORDERS

我们将使用 CASE 表达式,通过它可以实现一个逻辑来检查 ORDER_TOTAL。如果 ORDER_TOTAL 大于 500,则对于免运费将得到“YES”,否则将得到“NO”。查询将返回两列 ORDER_ID 和 FREE_SHIPPING。

例如,如果我们有以下 ORDERS DB2 表。

ORDER_ID
ORDER_TOTAL
Z22345
342
Z62998
543
Z56990
431
Z56902
6743
Z99781
443
Z56112
889

 

那么使用 CASE WHEN 表达式的 SQL 查询将返回以下结果。

ORDER_ID
FREE_SHIPPING
Z22345
NO
Z62998
YES
Z56990
NO
Z56902
YES
Z99781
NO
Z56112
YES

更新于:2020-11-30

浏览量:201

启动您的职业生涯

完成课程获得认证

开始学习
广告