BigQuery中如何关联两张表并将关联结果插入第三张表
BigQuery 两表关联结果插入T3表实现方案
场景1:已提前创建好T3表
直接使用INSERT INTO语法完成数据插入,示例使用BigQuery官方推荐的标准SQL语法:
INSERT INTO `你的项目ID.你的数据集名.T3` SELECT T1.字段1, T1.字段2, T2.字段3, T2.字段4 -- 此处根据实际需求选择需要插入的字段,保证字段顺序、数据类型和T3表完全匹配 FROM `你的项目ID.你的数据集名.T1` T1 INNER JOIN `你的项目ID.你的数据集名.T2` T2 ON T1.关联键 = T2.关联键 -- 此处可以替换为LEFT JOIN、FULL JOIN等需要的关联类型,也可以加WHERE条件过滤数据
场景2:尚未创建T3表
可以直接通过查询结果一键创建T3表并写入关联结果,无需提前建表:
CREATE OR REPLACE TABLE `你的项目ID.你的数据集名.T3` AS SELECT T1.字段1, T1.字段2, T2.字段3, T2.字段4 FROM `你的项目ID.你的数据集名.T1` T1 INNER JOIN `你的项目ID.你的数据集名.T2` T2 ON T1.关联键 = T2.关联键
如果不希望覆盖已存在的T3表,可以把CREATE OR REPLACE TABLE替换为CREATE TABLE IF NOT EXISTS即可。
注意事项
- 执行插入操作前,建议先单独运行
SELECT部分的语句,确认关联结果符合预期后再执行写入操作,避免生成错误数据 - 关联时务必明确关联条件,避免出现笛卡尔积导致数据量异常膨胀
- 操作账号需要拥有T1、T2的查询权限,以及对应数据集的表创建、数据插入权限
内容的提问来源于stack exchange,提问作者Akash Raj
相关产品推荐
相关产品推荐

