0

次のクエリがあるとします。

SELECT t1.* from t1
LEFT JOIN t2 
ON t2.t1id = t1.id;

確かにこれは悪い例ですが、私の言いたいことは理解できます。左側と見なされるものは何ですか? t1またはt2?それは最初に選択されたテーブルですか、それともon 句の最初のテーブルですか、それともまったく異なるものですか?

Coding Horrorのおかげでさまざまな結合が得られますが、側面がどこから来たのか説明されていませんか?

4

3 に答える 3

1

LEFT 側は、そこから含めたい部分ですが、存在しない場合はそれに限定されません。

この JOINS のグラフィカルな表現を見てください。

あなたが持っているとしましょう

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
于 2013-08-11T06:52:49.420 に答える