可能重复:
What is the difference between Left, Right, Outer and Inner Joins?
mysql中的左连接和右连接有什么区别
答案 0 :(得分:30)
如果没有共同记录,区别在于表的连接方式。
JOIN与INNER JOIN相同,表示仅显示两个表共有的记录。记录是否通用由join子句中的字段决定。例如:
FROM t1
JOIN t2 on t1.ID = t2.ID
表示仅显示两个表中存在相同ID值的记录。
LEFT JOIN与LEFT OUTER JOIN相同,意味着显示左表中的所有记录(即SQL语句之前的记录),无论右表中是否存在匹配记录。
RIGHT JOIN与RIGHT OUTER JOIN相同,意味着与LEFT JOIN相反,即显示来自第二(右)表的所有记录,仅显示第一(左)表中的匹配记录。
答案 1 :(得分:4)
LEFT JOIN包括左侧的每一行,NULL根据需要填充右侧。 RIGHT JOIN恰恰相反。