🐬

MySQL の USING と ON の違いは?

2025/01/24に公開

MySQLのUSINGとONの主な違いは以下の通りです:

  1. 柔軟性:

    • ON句は任意の条件を指定でき、異なる列名や複数条件での結合が可能です。
    • USING句は同じ名前の列が両テーブルに存在する場合のみ使用できます。
  2. 結果の列数:

    • USING句で結合すると、結合に使用した列は結果に1つだけ表示されます。
    • ON句で結合すると、結合に使用した列は両方のテーブルから表示されます。
  3. 可読性:

    • USING句は共通の列名が1つの場合、より簡潔に記述できます。
    • ON句は複雑な条件を指定する場合に適しています。
  4. SELECT句での列指定:

    • USING句では結合列を指定する際にテーブル名を省略できます。
    • ON句では結合列を指定する際に明示的にテーブル名を指定する必要があります。

例:

-- USING句
SELECT * FROM table1 JOIN table2 USING (column_name);

-- ON句
SELECT * FROM table1 JOIN table2 ON table1.column_name = table2.column_name;

USINGは同名の列で簡単に結合する場合に適しており、ONはより複雑な結合条件が必要な場合に適しています。

Discussion