SQLでIN句を使ったサブクエリの使用例

この記事では、SQLのIN句を使ったサブクエリの使用例について詳しく解説します。サブクエリとは、SQL文内で別のSQL文を使うことを指し、より複雑なデータ操作を行えるようにする強力な機能です。特に、IN句を用いることで、複数の値に対する条件分岐が可能となります。

目次

IN句とは?

IN句はSQLの検索条件を指定する際に使われる述語の一つです。IN句を使うと、特定のカラムの値がリスト内のいずれかに該当する場合に、その行を選択することができます。

基本的な書き方

基本的な書き方は以下のようになります。

SELECT * FROM テーブル名
WHERE カラム名 IN (値1, 値2, ...);

サブクエリとは?

サブクエリは、SQL文の中でさらに別のSQL文を実行する機能です。これにより、一つのSQL文だけでは解決できない複雑な問題も扱うことができます。

基本的な書き方

基本形は以下のようになります。

SELECT * FROM テーブル名1
WHERE カラム名 = (SELECT カラム名 FROM テーブル名2 WHERE 条件);

IN句とサブクエリの組み合わせ

IN句とサブクエリを組み合わせることで、更に高度なデータ操作が可能になります。

具体的な使用例

例として、以下のような従業員テーブル(employees)と部署テーブル(departments)があるとします。

従業員ID名前部署ID
1田中100
2佐藤200
3鈴木100
従業員テーブル
部署ID部署名
100開発
200営業
部署テーブル

この場合、部署テーブルから「開発」という部署名の部署IDを探し、該当する部署IDに所属する従業員を全て選出するSQL文は以下のようになります。

SELECT * FROM employees
WHERE 部署ID IN (SELECT 部署ID FROM departments WHERE 部署名 = '開発');

まとめ

IN句とサブクエリをうまく組み合わせることで、より高度なデータ抽出や操作が可能になります。このような高度なテクニックを理解しておくことは、データベース操作の幅を広げるために非常に有用です。

コメント

コメントする

目次