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";
为什么LEFT JOIN和INNER JOIN结果相同。
答案 0 :(得分:1)
您在查询2中未使用RIGHT JOIN
。LEFT JOIN
和INNER JOIN
结果相同的原因是因为表branch
的所有记录至少有一个在表user_mast
上匹配。
INNER JOIN
和LEFT JOIN
之间的主要区别在于LEFT JOIN
仍然会显示LEFT
方的记录,即使它们与RIGHT
不匹配边桌。
答案 1 :(得分:0)
答案 2 :(得分:0)
因为你的左表有2条记录而右表只有2条匹配的记录。因此,在此场景中,如果左连接,它将获取与join相同的结果。如果您交换表,那么您将知道左连接的使用。
答案 3 :(得分:0)
因为左表中的所有branch_id都与右表的branch_id匹配