SQL usingでjoin結合条件をシンプルに記述 OracleのPL/SQLでは別の意味
  • facebookページ
  • twitterページ
  • 2020.06.27

    SQL usingでjoin結合条件をシンプルに記述 OracleのPL/SQLでは別の意味

    SQLのusingについてまとめています。

    usingは、joinの結合条件をスッキリわかりやすく記述できる

    例えば、以下のSQLは、employees(社員)テーブルと、dept_emp(部署・社員紐付けテーブル)、departments(部署)テーブルをjoinで結合してデータを取得するSQLです。テーブルの結合条件として、employeesとdept_empではemp_no(社員番号)を、dept_empとdepartmentsではdept_no(部署番号)を指定しています。

    join条件に同じカラム名を指定するときだけ使える記述方法。見た目がスッキリします。

    なお、onを使って指定すると、以下のようになります。結果は全く同じです。

    Oracleでは、PL/SQLで、バインド変数指定にUSINGを使用する

    OracleのPL/SQL内でUSINGを使用する場合は、バインド変数を指定するという意味になります。

    参考)PL/SQLの動的SQL

    上記のSQLでは、cals_statsというプロシージャに変数aと変数bをバインド変数に関連付けて実行しています。プレーすホルダ:xには変数aが、:yには変数bが指定され、結果としてプロシジャcalc_stats(a,a,b,a)が実行されることになります。

    まとめ

    ポテパンダの一言メモ
    • USINGはjoinの結合条件を指定するSQL
    • 結合するテーブルのカラム名が同じ場合のみ使用可能
    • Oracleは、PL/SQL内でバインド変数の指定時にUSINGを使用する


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

    この記事をシェア

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









    ABOUT US

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

    READ MORE