【问题标题】:SQL Print the name of all Employees together with the name of their supervisorSQL 打印所有员工的姓名及其主管的姓名
【发布时间】:2018-10-29 06:31:08
【问题描述】:

我正在尝试学习 SQL 并有一个问题:打印所有员工的姓名及其主管的姓名。

这是我的Employees 表:

Table Employee

如何在新查询中使用SELECT 命令来获取结果?我尝试了自我加入。

最大(SQL NOOB)

【问题讨论】:

标签: mysql sql sql-server


【解决方案1】:

试试下面的

SELECT  t1.EmployeeName AS Manager, t2.EmployeeID as EmployeeName
FROM  Employee t1 
LEFT  JOIN Employee t2 ON  t1.ManagerID=t2.EmployeeID 

【讨论】:

    【解决方案2】:

    内部连接应该做到这一点。这是语法,但您必须将其应用于您的数据库:

    SELECT c.name, o.name
    FROM cats c
    INNER JOIN owners o
    ON c.owner_id = o.id
    

    “cats c”基本上是指“Cats table,我将其命名为 c”。 “owners o”基本上是指“Owners 表,我将其命名为 o”。在您的选择中,您通过名称告诉它您想要哪些字段,以及它们在哪个表中:[表昵称].[字段名]。 ON 是您从每个表中指定一个公共字段的位置,它告诉它如何将两个表连接在一起。在这个例子中,我们说我们希望拥有者的 id 等于 cat 表的拥有者 id 字段。 owner_id 字段是 owner 表的外键。

    我知道这样的答案会让你在学习时感到沮丧,但事实是,如果你必须自己想办法,你会学得更好,而且我不能为你做作业(我的意思是很好..)

    【讨论】:

    • 我知道你的意思很好,但从 INNER JOIN 到 SELF JOIN 仍然是一大步。
    猜你喜欢
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2013-04-14
    • 1970-01-01
    相关资源
    最近更新 更多