如何使用3个表获取记录或使用3个​​表?

时间:2017-11-02 10:20:59

标签: mysql sql database

我在接受采访时被问到这个问题。我已经努力了,但遗憾的是无法做到正确。任何人都可以帮助我吗?

使用这些表检索该员工的姓氏,名字,部门名称。我正在写下表格和列。但是,我不是在写那些虚拟数据。

员工 - (id,姓氏,名字,DOB,SSN)和其他一些栏目(无用)。
部门 - (D_id,部门名称)
Emp_Dept - (id,D_id)

1 个答案:

答案 0 :(得分:1)

您可以针对您的问题尝试此解决方案:

Query :

SELECT E.last_name, E.first_name, D.dept_name
FROM Employee AS E
-- Get employee dept
INNER JOIN Emp_Dept AS ED
ON ED.id = E.id
-- get dept data
INNER JOIN Dept AS D
ON D.id = ED.D_id

我希望它会对你有所帮助。

但是这个查询没有dept会返回员工的价值。如果有必要,您应该使用LEFT JOIN代替INNER JOIN