如何使用LEFT JOIN實現多表查詢
阿新 • • 發佈:2019-02-09
什麼是LEFT JOIN請各位自行了解,廢話不多說,先直接上三張表
組織表(t_organization)
部門表(t_department)
使用者表(t_user)
邏輯是組織下面有部門,部門下面有使用者,組織和部門通過organization_id欄位關聯,部門和使用者通過department_id關聯
實現以下幾種查詢
1.兩張表的查詢:
查詢所有組織資訊以及下屬所有部門資訊:
SELECT * FROM t_organization AS o LEFT JOIN t_department AS d ON o.organization_id = d.organization_id
查詢結果如下:
2.三張表的查詢(更多表以此類推)
查詢所有組織資訊以及下屬所有部門資訊以及下屬所有使用者資訊:
SELECT
*
FROM
t_organization AS o
LEFT JOIN t_department AS d ON o.organization_id = d.organization_id
LEFT JOIN t_user AS u ON d.department_id = u.department_id
查詢結果如下:
因為LEFT JOIN是以左表為主表,所以只要左表有資料,不管右表有沒有資料(如果右表沒有資料則為null,比如最後兩條資料),查詢結果都會存在。