df-drills pandas · Polars · DuckDB SQL · DuckDB Relational 题目列表 登录

null 键不匹配

中等 11-join 连接 joinnull-keynan

给每张发货单配上仓库所在城市。

  • 按 wh_code(仓库代码,字符串)把发货单和仓库表连接起来,只输出能配上仓库的发货单。
  • 两张表的 wh_code 都可能为 null。null 与任何值都不匹配,null 与 null 也不匹配,所以 wh_code 为 null 的发货单不输出。
  • 仓库表里 wh_code 非 null 的值不重复。

输入

  • shipments(shipment_id, wh_code, weight)
  • warehouses(wh_code, city)

输出

列为 shipment_id, wh_code, city,行顺序不限。

输入表 (case base,共 2 个 case:base、many)

shipments local/base/shipments
#shipment_idint64wh_codestringweightfloat64
1 1 BJ01 2.5
2 2 SH01 1.0
3 3 null 3.2
4 4 BJ01 0.8
5 5 GZ09 4.0
共 5 行
warehouses local/base/warehouses
#wh_codestringcitystring
1 BJ01 Beijing
2 SH01 Shanghai
3 null Unknown
共 3 行

期望输出 (case base,行顺序不限)

#shipment_idInt64wh_codeStringcityString
1 4 BJ01 Beijing
2 2 SH01 Shanghai
3 1 BJ01 Beijing
共 3 行