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 |
广告