我有一个名为employee的表,其中包含以下列 -
Fname,Lname,ssn(主键),薪水,主管ssn,部门名称 .
现在,对于属于“研究”部门的表中的每个员工,我想输出他的姓名,薪水和他的主管的姓名 . 我现在拥有的是这个 .
从员工中选择fname,salary,superssn,其中departmentname ='Research';
现在这只给了我员工主管的ssn,而不是主管的名字 . 我知道我必须将员工的超级人员与拥有相同ssn的另一名员工进行比较,并获得其他员工的姓名,因为他是他的主管,但我不知道如何在同一命令中实现这一点 .
2 回答
你需要一个自我加入:
这为您提供了与主管/研究员ssn匹配的员工x员工的交叉产品中的所有相关配对 .
如果你想在没有主管的情况下包括研究人员,那么你需要一个LEFT JOIN .
您需要连接到emplyee表(并且您需要一个别名来引用该表),如下所示: