题解 | 判断其是否有过购买记录

判断其是否有过购买记录

https://www.nowcoder.com/practice/5cddad8995974b0c915ab89961428ee0

select customer_id,
case when latest_place_order_date is null then 0 else 1 end as if_placed_order
from customers_info

在 SQL 中,CASE WHEN 是一种条件表达式,用于根据不同条件返回不同结果,类似编程语言中的 “分支判断”(如 if-else)。它可以在 SELECTUPDATEWHEREORDER BY 等子句中使用,是处理条件逻辑的核心工具。

CASE WHEN 有两种常见形式:

1. 简单 CASE 表达式(针对单一列的等值判断)

sql

CASE 列名
    WHEN 值1 THEN 结果1
    WHEN 值2 THEN 结果2
    ...
    ELSE 默认结果  -- 可选:所有条件不满足时返回
END

  • 作用:对指定列的值进行等值匹配,返回对应结果。

2. 搜索 CASE 表达式(支持复杂条件判断)

sql

CASE
    WHEN 条件1 THEN 结果1
    WHEN 条件2 THEN 结果2
    ...
    ELSE 默认结果  -- 可选
END

  • 作用:支持任意条件(如范围、多列组合、函数计算等),更灵活,是实际开发中最常用的形式。
全部评论

相关推荐

牛客21331815...:像我一投就pass,根本不用焦虑泡池子
点赞 评论 收藏
分享
08-21 16:35
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务