Sql 开发人员 - 我非常新(学习一些基础知识)



我对SQL开发人员很陌生,我有一些实践业务问题来帮助建立我的知识。

我想做的是我有一个名为"VMStaff"的表格,其中包含姓名,部门,最喜欢的颜色,性别,工作角色和经理姓名的列。在此表格中,某些经理在"经理姓名"和"姓名"下有条目

我想要从我的输出中得到的是一个同事的名字和他们的经理最喜欢的颜色。我已经尝试通过自我加入来做到这一点,但一定缺少一些东西 - 有人能够帮助或阐明这一点吗?

我已经尝试了两次来完成这项工作,见下文 -

NUMBER1 -

SELECT vmstaff1.name, vmstaff2."FAVOURITE COLOUR"
from vmstaff name, vmstaff "Favourite Colour"
Left JOIN vmstaff1 vmstaff2
on vmstaff1."Manager Name" = Vmstaff2.Name

数字 2 -

Select VM1.Name, VM2."Favourite Colour"
From vmstaff.Name as VM1
Inner Join vmstaff."Favourite Colour" as VM2
on VM1."Manager Name" = VM2."Favourite Colour"

我对如何连接表以及如何使用别名缺乏了解。在尝试NUMBER1我收到错误消息无效的 SQL 语句,在尝试编号 2 中,我收到错误消息 SQL 命令未正确结束

您将再次加入表:

select t1.name, t2.favouritecolour as man_fav_col
from Table1 t1
left join Table1 t2
  on t1.managername = t2.name
使用

别名允许您使用同一个表,就好像它是另一个表一样。在这种情况下,每个name都提供最喜欢的颜色并充当主键,然后managername本质上是同一表中的外键。

现在,left join而不是inner join的原因?最高老板不会有经理,但可能不想被排除在外......

最新更新