次のクエリがあるとします。
SELECT t1.* from t1
LEFT JOIN t2
ON t2.t1id = t1.id;
確かにこれは悪い例ですが、私の言いたいことは理解できます。左側と見なされるものは何ですか?
t1
またはt2
?それは最初に選択されたテーブルですか、それともon 句の最初のテーブルですか、それともまったく異なるものですか?
Coding Horrorのおかげでさまざまな結合が得られますが、側面がどこから来たのか説明されていませんか?
次のクエリがあるとします。
SELECT t1.* from t1
LEFT JOIN t2
ON t2.t1id = t1.id;
確かにこれは悪い例ですが、私の言いたいことは理解できます。左側と見なされるものは何ですか?
t1
またはt2
?それは最初に選択されたテーブルですか、それともon 句の最初のテーブルですか、それともまったく異なるものですか?
Coding Horrorのおかげでさまざまな結合が得られますが、側面がどこから来たのか説明されていませんか?
LEFT 側は、そこから含めたい部分ですが、存在しない場合はそれに限定されません。
あなたが持っているとしましょう
TABLE1
ID
1
2
3
と
TABLE2
ID
2
3
4
SELECT *
FROM t1 LEFT JOIN
t2 ON t1.ID = t2.ID
戻るだろう
t1.ID t2.ID
1 NULL
2 2
3 3
SELECT *
FROM t1 INNER JOIN
t2 ON t1.ID = t2.ID
戻るだろう
t1.ID t2.ID
2 2
3 3
と
SELECT *
FROM t1 RIGHT JOIN
t2 ON t1.ID = t2.ID
戻るだろう
t1.ID t2.ID
2 2
3 3
NULL 4