有两张桌子
我需要显示员工id、员工姓名、经理名称和经理id,但我不知道如何显示经理名。这是我所拥有的,尽管它是非常错误的,并且没有显示真正的经理名称
SELECT e.last_name "Employee", e.employee_id "Emp#", e.last_name "Manager",
d.manager_id "Mgr#"
FROM employees e,
departments d;
发布于 2018-10-08 08:53:39
使用关键字Join计算出,只需要两次使用一个表。
SELECT e.last_name "Employee", e.employee_id "Emp#", e2.last_name "Manager",
e.manager_id "Mgr#"
FROM employees e
JOIN employees e2 ON e2.employee_id = e.manager_id;
或不使用关键字联接/使用简单连接
SELECT e.last_name "Employee", e.employee_id "Emp#", e2.last_name "Manager",
e.manager_id "Mgr#"
FROM employees e, employees e2
WHERE e2.employee_id = e.manager_id
发布于 2018-12-02 14:58:32
您可以在manager_id上进行内部连接,因此只有匹配的行保持不变。
SELECT last_name as "Employee", employee_id as "Emp#", last_name as "Manager",
manager_id as "Mgr#"
FROM employees as e1
INNER JOIN departments as d2
ON e1.manager_id = d2.manager_id;
https://stackoverflow.com/questions/52706408
复制