単一行副問合せ | Oracle Database SQL (1Z0-071-JPN)
単一行副問合せとは
単一行副問合せ(Single-row Subquery)とは、メインクエリ(外側の問い合わせ)に値を渡すために、実行結果として「常に1行1列(1つの単一値/スカラ値)」のみを返却する副問合せ(サブクエリ)のことです。 Oracle Database SQL (1Z0-071) の試験対策においては、単一行副問合せの基本概念だけでなく、実務で使われる構文ルールや例外事項、エラーが発生する条件を正確に把握しておくことが非常に重要です。
具体例
全社員の平均給料を計算し、「平均給料よりも高い給料をもらっている社員」を検索したい場合、まず副問合せで平均給与(例: 6400)を1行1列で算出し、それをメインクエリの比較条件として利用します。
SELECT last_name, salary
FROM employees
WHERE salary > (
SELECT AVG(salary)
FROM employees
);
もう少し詳しく