SQL の SELECT ステートメントを作成する場合、 WHERE 文節の中に追加の SELECT ステートメントを入れることができます。 追加の SELECT によって、副照会が開始されます。
副照会の中にさらに別の副照会を含めて、 元の副照会の WHERE 文節が別の副照会の結果で置き換えられるようにすることができます。 さらに、WHERE 文節の複数の検索条件の中にも副照会を含めることができます。 副照会では、 メインの照会で使う表や列とは違う表や列を参照できます。
次のステートメントでは、 STAFF 表の中で ID が 280 の従業員に関して、 ORG 表の中から地域 (DIVISION) と場所 (LOCATION) を選択しています。
SELECT DIVISION, LOCATION FROM ORG WHERE DEPTNUMB = (SELECT DEPT FROM STAFF WHERE ID = 280)
ステートメントの処理では、 まず副照会の結果が調べられます。 ID が 280 の従業員の部署は 66 なので、 この例の副照会の結果は 66 になります。 次に、ORG 表の中で、 DEPTNUMB 列の値が 66 になっている行から最終的な結果が取り出されます。 最終的な結果は、次のとおりです。
DIVISION LOCATION ---------- ------------- Western San Francisco
副照会を使用すると、 データベース・マネージャーはそれを評価し、WHERE 文節をその結果で直接置き換えます。
副照会の詳細については、相関副照会を参照してください。