Mysql连接实践只使用LEFT JOIN和INNER JOIN?

时间:2013-05-09 22:15:14

标签: mysql left-join inner-join right-join

在我阅读关于联接时,我意识到其中只有两个在工作,因为其他人都是一样的。我是对的吗?

INNER JOIN = JOIN LEFT JOIN = LEFT OUTER JOIN

您实际使用的是否有任何联接?

1 个答案:

答案 0 :(得分:0)

来自http://dev.mysql.com/doc/refman/5.0/en/join.html

join_table:
    table_reference [INNER | CROSS] JOIN table_factor [join_condition]
  | table_reference STRAIGHT_JOIN table_factor
  | table_reference STRAIGHT_JOIN table_factor ON conditional_expr
  | table_reference {LEFT|RIGHT} [OUTER] JOIN table_reference join_condition
  | table_reference NATURAL [{LEFT|RIGHT} [OUTER]] JOIN table_factor

大括号内的文字是可选的。 INNERCROSS关键字对于普通JOIN是可选的(文档提到了这一点)。 OUTER关键字对于外部(LEFT | RIGHT)联接是可选的。

这可能会更清楚一点NATURAL LEFT JOINNATURAL JOIN不同,但INNERCROSSOUTER关键字是可选的当在正确的位置使用时。

请注意,这是特定于MySQL的。标准SQL中的情况 not