LeftJoin
和 InnerJoin
是 SQL 中兩種常見的連接方式,它們在處理表格數據時有一些不同之處。
InnerJoin
:當兩個表進行連接時,只會返回那些在兩個表中都存在的記錄。也就是說,如果某條記錄只在其中一個表中存在,而在另一個表中不存在,則這條記錄不會出現在結果集中。LeftJoin
(或稱為 Left Outer Join):當兩個表進行連接時,會返回左表(第一個表)中的所有記錄。對于那些在右表(第二個表)中沒有匹配的記錄,將會用 NULL 值填充。因此,左表的記錄數不會減少。以下是 SQL 中 InnerJoin
和 LeftJoin
的基本語法:
-- InnerJoin 語法
SELECT * FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;
-- LeftJoin 語法
SELECT * FROM table1
LEFT JOIN table2 ON table1.column_name = table2.column_name;
InnerJoin
適用于你只關心兩個表共有的數據時。LeftJoin
適用于你需要從左表中獲取所有數據,并且想要查看與右表匹配的數據時。總之,LeftJoin
和 InnerJoin
的主要區別在于它們處理表格數據時返回的結果集不同。InnerJoin
只返回兩個表中都存在的記錄,而 LeftJoin
返回左表中的所有記錄,對于右表中沒有匹配的記錄使用 NULL 值填充。