SQL查询,从同一个表中获取员工姓名及其经理姓名
员工表SQL查询,从同一个表中获取员工姓名及其经理姓名,sql,sql-server,select,Sql,Sql Server,Select,员工表 Employee_id Employee_name Manager_id ------------------------------------- Emp00001 Ram Emp00005 Emp00002 Sharath Emp00003 Emp00003 Nivas Emp00005 Emp00004 Praveen Emp00002 Emp00005 Mah
Employee_id Employee_name Manager_id
-------------------------------------
Emp00001 Ram Emp00005
Emp00002 Sharath Emp00003
Emp00003 Nivas Emp00005
Emp00004 Praveen Emp00002
Emp00005 Maharaj Emp00002
输出
Employee Name Manager Name
------------------------------
Ram Maharaj
Sharath Nivas
Nivas Maharaj
Praveen Sharath
Maharaj Sharath
在
employee
表中,有三列employee\u id
、employee\u name
和manager\u id
。如何从表中获取员工姓名和他们的经理姓名?您可以自行加入表,从他的ID中获取经理姓名:
SELECT e.employee_name, m.employee_name AS manager_name
FROM employee e
JOIN employee m on e.manager_id = m.employee_id
希望您的数据库中可以使用manager表
SELECT employee_name, M.manager_name
FROM employee e
INNER JOIN tableManager M ON e.ManagerID = M.MangerID
必填表:-员工 查询:- 说明:-
通过将该条件“雇员e加入雇员M”,自动将单表视为“e”和“m”两个不同的表,然后将表ID中的雇员ID与表M的管理器ID进行比较。 无论何时,只要找到匹配项,两个ID都相同,就会添加到结果中。
请尝试此操作SELECT employee_name AS Employee_Name,(SELECT employee_name FROM employee where
employeeid=ManagerID ) AS Manager_Name FROM employee
使用以下查询,您可以在此处获取Employeename和ManagerName我只有一个表EmpMgr:
从EmpMgr e中选择e.employeename作为ename,e.managerid作为mgrid,e1.employeename作为managername在e.managerid=e1.employeeid上加入EmpMgr e1
注意:您可以使用左联接获取所有员工的姓名,而不考虑经理的姓名
从EmpMgr中选择e.employeename作为ename,e.managerid作为mgrid,e1.employeename作为managername e left在e.managerid=e1.employeeid上加入EmpMgr e1
是否有任何可能重复的manager Table
SELECT employee_name AS Employee_Name,(SELECT employee_name FROM employee where
employeeid=ManagerID ) AS Manager_Name FROM employee
select e1.empname,e2.empname as managername,e1.salary,
e1.mrg,e1.empno,e1.job,e2.mrg as BossMRG from employee e1
join
employee e2 on e1.mrg=e2.empno
left join
employee e3 on e1.mrg=e3.empno and e3.job='manager' or e3.empno=e2.mrg