SQLのwhereはinで複数条件を簡潔に記述できる サブクエリの併用も可
  • facebookページ
  • twitterページ
  • 2020.06.30

    SQLのwhereはinで複数条件を簡潔に記述できる サブクエリの併用も可

    SQLのwhere句でinを使うサンプルについてまとめています。

    MySQLのサンプルデータベースEmployeesを使用しています。

    SQLのwhere句では、inを使って複数条件をスッキリ記述できる

    where句にinを使うと、複数条件を簡潔に記述できるケースがあります。

    例えば以下のサンプルは、employees(社員)テーブルから、first_name(名)がBezalelまたはGuoxiang、またはKazuhideのデータを10件抽出するSQLです。

    複数カラムを指定するには以下のようにします。first_name(名)とlast_name(姓)の組み合わせが「Mary Sluis」、「Guoxiang Trogemann」「Georgi Peris」のデータを抽出します。andとorを組み合わせて記述する方法に比べ、直感的にわかりやすく簡潔に記述することができました。

    【関連記事】
    SQLでandとorを使った条件をinで置き換えるサンプルコード 

    where句の条件にinとサブクエリを組み合わせるサンプル

    inとサブクエリを組み合わせることも可能です。以下のサンプルでは、dept_emp(部署・社員紐付けテーブル)の件数が30000件以上、つまり部員数が3万人以上の部署(departments)を抽出しています。

    上記SQLは実行に2.22秒かかるかなり遅いクエリです。サブクエリの条件次第ではクエリの実行速度が遅くなる点に注意しましょう。

    【関連記事】
    SQL in句のサンプルコード集 複数カラムの指定方法とは? 

    where句に複数カラムとinを組み合わせるサンプル

    以下のサンプルは、社員の最新の年収を抽出するSQLです。

    【関連記事】
    SQLのas句で、同一テーブルに別名をつけセルフジョインするサンプルコード 

    以下の形にすることで、複数カラムに対してサブクエリを使った条件を記述できます。

    まとめ

    ポテパンダの一言メモ
    • where句にinを使うと複数条件を簡潔に記述可能
    • (カラム1,カラム2…)の形で複数カラムの指定も可能
    • inとサブクエリを組み合わせた、複雑な条件も記述できる


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

    この記事をシェア

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









    ABOUT US

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

    READ MORE