比方說,我有3個表:MySQl中的多級別查詢 - 是否需要額外的外鍵?
- 部門,各自有0到n
- 工作,各自有0到n
- 人
- 工作,各自有0到n
給在一個部門,我如何獲得在該部門工作的所有人員?我可以用一個SELECT做到嗎?
我設置了a fiddle與一些示例數據,但我無法制定正確的查詢。
它可以做一些JOIN
魔術?或者我需要在peeps
表中添加一個外鍵,指向department_id
?
比方說,我有3個表:MySQl中的多級別查詢 - 是否需要額外的外鍵?
給在一個部門,我如何獲得在該部門工作的所有人員?我可以用一個SELECT做到嗎?
我設置了a fiddle與一些示例數據,但我無法制定正確的查詢。
它可以做一些JOIN
魔術?或者我需要在peeps
表中添加一個外鍵,指向department_id
?
一個簡單連接
SELECT people.*
FROM departments
INNER JOIN jobs ON departments.deperatment_id = jobs.deperatment_id
INNER JOIN people ON jobs.job_id = people.job_id
WHERE departments.deperatment_id = 1
您將需要修改的加盟條件,在你的表所使用的那些列名。
請注意,您的SQL小提琴示例表沒有任何索引。添加這些對於性能非常重要。
你加入了工作崗位和部門職位。 –