SQL使用JOIN关联employees和departments表报错如何解决
代码错误点说明
- 子查询用法错误:你嵌套的子查询末尾多了冗余逗号,且该类标量子查询仅允许返回单行单列结果,直接查询employees表全量name会返回多行数据,无法作为单字段匹配部门行。
- JOIN逻辑错误:FROM子句已经指定了带项目路径的departments表,JOIN时未正确引入employees表、仅写了重复的departments表名,ON条件中引用的
employees.department_id没有对应的表声明,引擎无法识别该字段来源。 - 字段引用歧义:employees和departments表均存在
name字段,最外层SELECT直接写name未指定所属表,引擎无法判断要读取哪个表的字段。
修正后代码
SELECT d.name AS departments_name, e.name AS employees_name FROM `my-first-analysis.employee_data.departments` d JOIN `my-first-analysis.employee_data.employees` e ON d.department_id = e.department_id
如果需要展示没有匹配员工的部门,将上述代码里的
JOIN替换为LEFT JOIN即可。
内容的提问来源于stack exchange,提问作者user19410311
相关产品推荐
相关产品推荐

