1. 程式人生 > >如何使用LEFT JOIN實現多表查詢

如何使用LEFT JOIN實現多表查詢

什麼是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,比如最後兩條資料),查詢結果都會存在。