LoginSignup
0
1

More than 5 years have passed since last update.

副問合せ(サブクエリ)を行う

Posted at

サブクエリは、ビューを基本とした技術です。サブクエリの特徴を一言で表わすと、「使い捨てのビュー」です。おまけ的な(SELECT)がサブクエリ。

実際、この SELECT 文は、入れ子構造になっていて、まず FROM 句の中の SELECT 文が実行され、その後に外側の SELECT 文が実行される、という順番になります。

また、サブクエリの階層数には原則的に制限はない(Oracle の Where には最大 255 という制限がある)ので、サブクエリの中の FROM 句に更にサブクエリを使って、その中の FROM 句に更にサブクエリを……というように、いくらでも入れ子を深くすることが可能です。

サンプル

例として以下の社員マスタを使用して副問合せを行います。

社員コード 社員名 給与
00001 チャーリー・ブラウン 220000
00002 ルシール・ヴァン・ぺルト 205000
00003 ライナス・ヴァン・ぺルト 190000
00004 シュローダー 200000
00005 ペパーミント・パティ 300000
00006 マーシー 230000

平均以上の給与を持つ社員を取得します。

SQL

SELECT 社員名, 給与
FROM 社員
WHERE 給与 >= (
    SELECT AVG(給与)
    FROM 社員
)

結果

社員名 給与
ペパーミント・パティ 300000
マーシー 230000
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1