數據庫中的LEFT JOIN 個人理解


首先要明白LEFT JOIN 的作用

TABLE A LEFT JOIN TABLE B 的意思指,將表A和表B拼接起來,就是按照一定的規則(自己制定)把A和B的行組合起來。

 

 比如有以上兩個表,現在有一個語句:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName;

這句話的主要用意就是把Persons中的LastName、FirstName兩列和Orders中的OrderNo拼起來,組合成一個新的表:| LastName | FirstName | OrderNo |

但是這句話有點不好理解,我覺得主要是斷句不好,官方的斷句以及W3school上的斷句就像上面展示的一樣。我個人的斷句如下:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM      #第一行表明要查的結果

Persons                                                              #緊接着的三行表明查詢的目標
LEFT JOIN                                                            #即從哪里查出來第一句想要的結果
Orders
ON Persons.Id_P=Orders.Id_P

ORDER BY Persons.LastName

以上的斷句的意思是:

第一行:SELECT 后面是要查的列名,包括兩個表中的列

第二行:指明 LEFT JOIN 操作中的左表,即上面示意中的A表

第三行:LEFT JOIN 關鍵字

第四行:指明 LEFT JOIN 操作中的右表,即上面示意中的B表

第五行:  指明拼接的規則 

二、三、四行的結果集正是第一行查詢的對象,從FROM可以看出

最后一行是用來將最終的結果拍序的。

本來想用圖表示一下過程的,奈何圖太大...,就這樣吧.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM