讓我們說,我有以下的列和數據兩個簡單的表:LEFT JOIN - 兩個表使用相同的數據
Table 1 Table 2
year month year month
2017 01 2017 01
2016 12 2016 12
主鍵是由年份和月份的一個組合鍵。
因此,一個經典的左連接,給我左表中的所有數據和右表中的匹配行。
如果我做了左連接是這樣的:
select
t1.year, t2.month
from
table1 t1
left join table 2 t2 on (t1.year = t2.year and t1.month = t2.month)
爲什麼我得到的只有兩行?我不應該得到4行?
TNX, 湯姆
't1'沒有'god'列。 –
你應該得到2行。't1'中有兩行與't2'中的兩行完全匹配。你預期的輸出是什麼,你會得到4條記錄?也許你正在將LEFT OUTER JOIN與CROSS JOIN混淆,你會得到一個笛卡爾產品? – JNevill
我有點困惑,不應該查詢查找在第二個表中的第一個表的主鍵上匹配的行嗎?由於左連接總是要顯示錶1中的所有數據,爲什麼表2中的數據被丟棄(即使它是相同的)? Tom –