如何在BigQuery中关联两张表并保留无匹配项的null值?
BigQuery 查询解决方案:关联两张表补充用户名
要实现将table2的用户名匹配到table1,无匹配项显示null,你可以使用LEFT JOIN(左连接),它会保留左表(table1)的所有数据行,仅匹配右表(table2)中对应的记录。
具体查询语句
SELECT t1.user_id, t1.age, t1.order_name, t1.details, t1.type, t2.user_name AS name FROM `your-project.dataset.table1` t1 LEFT JOIN `your-project.dataset.table2` t2 ON t1.user_id = t2.user_id ORDER BY t1.user_id;
说明
LEFT JOIN确保table1的所有行都被保留,即使table2中没有对应的user_idt2.user_name AS name将table2的user_name字段重命名为你需要的name- 替换
your-project.dataset为你实际的项目和数据集名称 ORDER BY t1.user_id用于保持结果行顺序和你示例中的一致
执行该查询后,就能得到你期望的结果:匹配到的user_id显示对应用户名,无匹配的显示null。
内容的提问来源于stack exchange,提问作者Volodymyr
相关产品推荐
相关产品推荐

