1
branch_id   branch_name
1       Branch A
2       Branch B

user_id username    branch_id
1   abc     1
2   def     1
3   ghi     2
4   jkl     1
5   lmn     2
6   opq     2

クエリ1

query1="select a.branch_id,b.branch_id,a.branch_name from branch a LEFT JOIN user_mast b on a.branch_id=b.branch_id";

クエリ2

$query2="select a.branch_id,b.branch_id,a.branch_name from branch a INNER JOIN user_mast b on a.branch_id=b.branch_id";

LEFTJOINとINNERJOINの結果が同じである理由。

4

4 に答える 4

1

RIGHT JOINクエリ2で使用していません。結果が同じLEFT JOININNER JOINある理由は、テーブルのすべてのレコードがテーブルbranchで少なくとも1つの一致を持っているためuser_mastです。

INNER JOINとの主な違いはLEFT JOIN、サイドテーブルに一致するものがない場合でもLEFT JOIN、サイドにレコードが表示されることです。LEFTRIGHT

SQLFiddleデモ(違い

于 2012-10-04T10:28:50.590 に答える
0

これを見て、JOINを理解するのに大いに役立ちます

http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html

于 2012-10-04T10:29:15.987 に答える
0

左側のテーブルには2つのレコードがあり、右側のテーブルには2つの一致するレコードしかないためです。したがって、このシナリオでの左結合の場合、結合と同じ結果がフェッチされます。テーブルを交換すると、左結合の使用法がわかります。

于 2012-10-04T10:31:02.523 に答える
0

左側のテーブルのすべてのbranch_idが右側のテーブルのbranch_idと一致しているため

于 2012-10-04T10:33:14.347 に答える