スポンサーリンク

【応用情報技術者試験】メインクエリとサブクエリの違い

SQLのサブクエリ(副問い合わせ)は、メインクエリ(外側の主問い合わせ)のSELECT、FROM、WHERE句などで使用される、括弧()で囲まれた内側のクエリです。サブクエリが先に実行され、その結果をメインクエリが利用することで、動的な条件指定や複雑なデータ抽出を1つのSQLで実現します。

サブクエリの主な特徴と利用場面

  • 処理順序: 内側のサブクエリが最初に実行され、その結果が外側のメインクエリに渡される。
  • 配置場所: 主にWHERE句(条件絞り込み)、SELECT句(計算列)、FROM句(一時テーブル)、HAVING句(グループ化後の条件)で使用される。
  • メリット: 複雑なクエリを段階的にロジカルに記述でき、可読性の向上や動的な値の利用が可能になる。
  • 注意点: サブクエリは通常、通常のSQL文よりも処理時間がかかる場合があるため、パフォーマンスに注意が必要。

具体例:平均点より高いスコアの生徒を取得する 

sql

SELECT 名前, スコア
FROM 生徒テーブル
WHERE スコア > (SELECT AVG(スコア) FROM 生徒テーブル); -- サブクエリ

サブクエリの種類

  1. スカラ・サブクエリ: 単一の値を返すサブクエリ(=>< などで使用)。
  2. 相関サブクエリ: メインクエリの各行ごとに再評価されるサブクエリ(処理が遅くなりやすいが強力)。 

※本解説はデータベースのSQLにおけるサブクエリ(副問い合わせ)を対象としています。WordPressなどのCMSにおけるメイン/サブクエリとは異なります。 

コメント