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