簡體   English   中英

查詢員工的名字和經理的名字的語法是什么?

[英]What is a syntax to query a first_name of employees and first_name of their managers?

我知道如何分別查詢所有員工的名字和部門所有經理的名字,但不知道如何查詢員工的名字和經理的名字? 兩個表的結構如下:

在此處輸入圖像描述

在此處輸入圖像描述

在此處輸入圖像描述

您通常會從employees表開始,然后在departments (他/她所屬的部門)中引入相應的記錄,最后再次加入employees以獲取部門經理的名字:

select e.firstname employee_firstname, m.firstname manager_first_name
from employees e
inner join departments d on d.department_id = e.department_id
inner join employees m on m.employee_id = d.manager_id

假設 employee.manager_id 指向員工的經理。

然后在 manager_id 上自加入員工表。

SELECT 
 emp.first_name AS emp_first_name, 
 mgr.first_name AS mgr_first_name
FROM employees emp
LEFT JOIN employees mgr 
  ON mgr.employee_id = emp.manager_id
ORDER BY emp.first_name

如果你還想要他們部門的經理。

SELECT 
 emp.first_name AS emp_first_name,
 mgr.first_name AS mgr_first_name,
 depmgr.first_name AS depmgr_first_name
FROM employees emp
LEFT JOIN employees mgr 
  ON mgr.employee_id = emp.manager_id
LEFT JOIN departments dep
  ON dep.department_id = emp.department_id
LEFT JOIN employees depmgr 
  ON depmgr.employee_id = dep.manager_id
ORDER BY emp.first_name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM