0

我有两张桌子。员工和经理。员工表存储公司所有员工的信息。经理表显示哪些员工在哪个经理手下工作。经理也是该公司的雇员。下表给出。

员工(姓名,城市,街道)

经理(姓名,员工姓名)

粗体表示它们是主键。现在的问题是,在经理表中,姓名和员工姓名都是引用员工的外键。那么如果我自然地加入他们会发生什么。不会有什么问题吗?自然加入他们之后,我会在决赛桌看到谁的城市和街道?经理的还是员工的?

4

3 回答 3

1

如果你很幸运,你很可能一无所有,如果你不走运,你很可能一无所有。Natural join会做这样的事情:

SELECT * FROM managers LEFT JOIN employees
         WHERE managers.name = employees.name

Natural join尝试使用COMMONLY NAMED COLUMNS

当我假设你想要更像这样的东西时:

SELECT * FROM managers LEFT JOIN employees
         WHERE managers.employee_name = employees.name
于 2012-12-15T19:56:41.380 回答
0

您将获得所有经理城市、街道和员工姓名的列表

姓名、城市、街道、Employee_Name

于 2012-12-15T19:48:37.200 回答
0

否则加入的东西,我建议审查你的数据库的架构。如果在经理表中,名称是 PK,则同一经理不能有超过一名员工。

于 2012-12-15T20:29:48.150 回答