mysql中的左连接和右连接有什么区别

时间:2010-12-10 09:06:55

标签: mysql

  

可能重复:
  What is the difference between Left, Right, Outer and Inner Joins?

mysql中的左连接和右连接有什么区别

2 个答案:

答案 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恰恰相反。