SQLのONは、JOINの条件を記述 複数条件はANDやORで接続する
  • facebookページ
  • twitterページ
  • 2020.05.30

    SQLのONは、JOINの条件を記述 複数条件はANDやORで接続する

    SQLのON句についてまとめています。

    SQLのONは、JOINの条件を記述

    ON句は、joinをおこなう場合の条件を記述する際に使います。

    以下のSQLは、employees(社員)テーブルとsalaries(年収)テーブルをemp_no(社員番号)でleft joinする例です。on句にjoin条件employees.emp_no = salaries.emp_no 、を記述しています。

    インデックスがついていないカラムでjoinをおこなうと、テーブルのサイズが大きいほど速度低下の原因になります。explainで実行計画をチェックしておくのが良いでしょう。

    【関連記事】
    SQL Joinサンプル集 Joinで遅いSQLの原因を調べる方法

    on句で複数の条件を指定する場合は、andやorで条件指定を接続します。

    on句にも複雑な条件が記述できてしまうので、場合によってはバグが発生しやすい要因になることがあります。コーディング規約で、on句にはusingでシンプルな条件指定しかしないようにし、絞り込み条件はwhereでおこなうなどの対策を検討すると良いでしょう。

    【関連記事】
    MySQLのleft joinサンプルコード onとusingの結合条件指定の違いは?

    まとめ

    ポテパンダの一言メモ
    • on句にはjoin条件を記述する
    • andやorを使って、複雑な条件を指定することが可能
    • バグを発生しにくくするため、on句ではusingのみ使い複雑な条件はwhereで記述するなどの工夫が考えられる


    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE