Sql 在具有内部联接的特定列中包括包含空值的行
这里的目标是返回每个员工的ID、姓名、经理姓名和ID。该表不包含经理姓名,仅包含给定员工的经理ID。当前查询使用内部联接非常有效,除了一个员工没有经理ID(他是老板),因此没有显示他的任何信息。当前查询如下所示:Sql 在具有内部联接的特定列中包括包含空值的行,sql,oracle,Sql,Oracle,这里的目标是返回每个员工的ID、姓名、经理姓名和ID。该表不包含经理姓名,仅包含给定员工的经理ID。当前查询使用内部联接非常有效,除了一个员工没有经理ID(他是老板),因此没有显示他的任何信息。当前查询如下所示: SELECT DISTINCT e.employee_id AS EMPLOYEE_ID, e.FULL_NAME AS EMPLOYEE_NAME, m.manager_ID AS REPORTS_TO,
SELECT DISTINCT e.employee_id AS EMPLOYEE_ID,
e.FULL_NAME AS EMPLOYEE_NAME,
m.manager_ID AS REPORTS_TO,
m.FULL_NAME AS MANAGER_NAME
FROM EMPS e
INNER JOIN EMPS m ON e.manager_id = m.employee_id;
尽管该员工缺少一个看似必要的字段,但我如何包括该员工的姓名和信息?如果您想在没有经理的情况下包含员工姓名,请执行“左加入”:
SELECT DISTINCT e.employee_id AS EMPLOYEE_ID,
e.FULL_NAME AS EMPLOYEE_NAME,
m.manager_ID AS REPORTS_TO,
m.FULL_NAME AS MANAGER_NAME
FROM EMPS e
LEFT JOIN EMPS m ON e.manager_id = m.employee_id;
当然为这个显而易见的问题道歉。。。。你真的需要这个数据集的
不同的吗?这很好用!不知道为什么我不记得了。谢谢你的帮助!