on 子句用于指定 join 操作中比較和合并兩個(gè)表的行的條件,包括內(nèi)連接、左外連接、右外連接和全外連接。on 條件只使用相等比較,可以使用多個(gè)條件指定更復(fù)雜的連接規(guī)則,并可與其他 join 類型一起使用。
MySQL 中 ON 的用法
ON 子句概述
ON 子句用于指定在 JOIN 操作中比較和合并兩個(gè)表的行的條件。
語法
<code>ON 表1.列名 = 表2.列名</code>
登錄后復(fù)制
用法
內(nèi)連接 (INNER JOIN):只返回兩個(gè)表中匹配的行。
左外連接 (LEFT OUTER JOIN):返回左表中的所有行,以及任何在右表中匹配的行。如果右表中沒有匹配,則返回 NULL。
右外連接 (RIGHT OUTER JOIN):與左外連接類似,但返回右表中的所有行。
全外連接 (FULL OUTER JOIN):返回兩個(gè)表中的所有行,無論是否匹配。
示例
內(nèi)連接:
<code>SELECT * FROM 表1 INNER JOIN 表2 ON 表1.id = 表2.id;</code>
登錄后復(fù)制
左外連接:
<code>SELECT * FROM 表1 LEFT OUTER JOIN 表2 ON 表1.id = 表2.id;</code>
登錄后復(fù)制
右外連接:
<code>SELECT * FROM 表1 RIGHT OUTER JOIN 表2 ON 表1.id = 表2.id;</code>
登錄后復(fù)制
全外連接:
<code>SELECT * FROM 表1 FULL OUTER JOIN 表2 ON 表1.id = 表2.id;</code>
登錄后復(fù)制
注意事項(xiàng)
ON 條件只能使用相等比較(=)。
可以使用多個(gè) ON 條件來指定更復(fù)雜的連接規(guī)則。
ON 子句可以與其他 JOIN 類型(如 CROSS JOIN、NATURAL JOIN)一起使用。