首页 > 解决方案 > MYSQL 中通过 ON JOIN 和 Using 有什么区别

问题描述

我正在尝试编写一个查询来显示所有员工的姓氏、部门编号和部门名称。

这是我的工作代码:

SELECT
    last_name,
    department_id,
    department_name
FROM
    employees
JOIN departments USING(DEPARTMENT_ID);

当我尝试使用 JOIN ON 进行查询时,我遇到了一个错误,说

  Column 'department_id' in field list is ambiguous through this code

使用 JOIN ON 查询:

SELECT
    last_name,
    department_id,
    department_name
FROM
    employees
JOIN departments ON(
        employees.DEPARTMENT_ID = departments.DEPARTMENT_ID
    )

我想知道为什么它不起作用。

标签: mysqljoin

解决方案


歧义应在 select 子句中解决

SELECT
last_name,
employees.department_id,
department_name
FROM      employees
JOIN departments USING(DEPARTMENT_ID);

推荐阅读