SELECT column_name(s)
FROM table1
LEFT JOIN table2 ON table1.column_name = table2.column_name
LEFT JOIN table3 ON table2.column_name3 = table3.column_name3
根据网上的解释说明
LEFT JOIN关键字返回左表中的所有记录 (table1),以及右表(table2)中匹配的记录。该 如果没有匹配,则结果从右侧为NULL。
LEFT JOIN table3 ON table2.column_name3 = table3.column_name3
如何返回table1
或table2
?
答案 0 :(得分:0)
它返回先前与第三个连接加入的连接。
尝试并排放置表格并对齐连接条件为真的行!这是最终的结果。
让我们尝试一个简单的例子,让它更清晰。
您有3个表:People
,Cities
,States
。
您希望为数据库中的每个人显示他所居住的城市和州。
表结构将是这样的:
People
:id_person,name,id_city
Cities
:id_city,city,id_state
States
:id_state,州
最终的查询将是这样的:
select p.name, c.city, s.state
from people p
inner join cities c on p.id_city = c.id_city
inner join states s on c.id_state = s.id_state
结果将是所有列并排,如下所示:
name city state
---- ---- -----
Simon Berlin Germany
Mattia Rome Italy
Francis Paris France
如果我们执行第一次加入,我们会同时获得前两个表的信息,以及该人的姓名和城市的名称。然后使用第三个连接,您将获得前面的2个连接表和第三个连接表