如何修复BigQuery中初学者SQL INNER JOIN查询报错问题
BigQuery SQL报错修复:Unrecognized name: employees
错误含义
Unrecognized name: employees at [10:3]
该错误表示BigQuery无法识别你在ON子句中使用的employees标识符。核心原因是你在FROM子句中使用了带反引号的完整表路径(primeiro-projeto-da.employee_data.employees),但后续引用时的简写名称未被正确关联;同时JOIN的departments表仅使用了数据集+表名的不完整引用,导致解析器无法匹配到对应的表对象。
修复后的查询(推荐写法)
使用表别名简化引用,同时确保两张表都使用完整的带反引号路径(BigQuery中跨项目/数据集引用表的规范写法):
SELECT e.nome AS employees_name, e.cargo AS employees_role, d.nome AS departments_name FROM `primeiro-projeto-da.employee_data.employees` e INNER JOIN `primeiro-projeto-da.employee_data.departments` d ON e.id_departmento = d.id_departmento
另一种修复方式(不使用别名)
若不想使用别名,需确保所有表引用都采用完整路径:
SELECT `primeiro-projeto-da.employee_data.employees`.nome AS employees_name, `primeiro-projeto-da.employee_data.employees`.cargo AS employees_role, `primeiro-projeto-da.employee_data.departments`.nome AS departments_name FROM `primeiro-projeto-da.employee_data.employees` INNER JOIN `primeiro-projeto-da.employee_data.departments` ON `primeiro-projeto-da.employee_data.employees`.id_departmento = `primeiro-projeto-da.employee_data.departments`.id_departmento
关键说明
- BigQuery中,包含项目/数据集的完整表路径必须用反引号包裹,避免名称中的特殊字符或关键字引发冲突。
- 使用表别名是更规范的写法,既能避免识别错误,也能让SQL代码更简洁易读。
内容的提问来源于stack exchange,提问作者Gonçalo Fernandes
相关产品推荐
相关产品推荐

