我有两张桌子。员工和经理。员工表存储公司所有员工的信息。经理表显示哪些员工在哪个经理下工作。经理也是公司的员工。表格如下。
员工(名称,城市,街道)
经理(姓名,员工姓名)
粗体意味着它们是主键。现在的问题是,在管理器表中,名称和员工姓名都是引用员工的外键。那么如果我自然地加入它们会发生什么。不会有任何问题吗?在自然加入之后,我会在决赛桌上看到哪个城市和街道?经理或员工?
答案 0 :(得分:1)
Natural join
会做这样的事情:
SELECT * FROM managers LEFT JOIN employees
WHERE managers.name = employees.name
Natural join
尝试使用通用命名列。
当我假设你想要更像这样的东西时:
SELECT * FROM managers LEFT JOIN employees
WHERE managers.employee_name = employees.name
答案 1 :(得分:0)
您将获得所有经理city,street和employee_name的列表
姓名,城市,街道,员工姓名
答案 2 :(得分:0)
否则加入东西,我建议您查看数据库的架构。 如果在经理表中,名称是PK,那么您不能让多个员工拥有相同的经理。