■SQL攻略 - 実行すれば理解できる!

HOME>>SQL攻略マップ>>入れ子の問合せ>>副問い合わせ

副問い合わせ

■副問い合わせ
入れ子の問合せで基本的な、副問い合わせについて学習します。

副問い合わせ(1)
--最小の部署番号に所属する従業員の抽出
SELECT*
FROMEMP
WHEREEMP.DEPTNO = (
SELECT MIN(DEPT.DEPTNO)
FROM DEPT)

WHEREのあとのEMP.DEPTNOと、別のSELECT文の問合せ結果との比較をしています。このような問合せを副問合せといいます。

内側のSELECT MIN(DEPT.DEPTNO) FROM DEPT)で抽出された、MIN(DEPT.DEPTNO)とEMP.DEPTNOを比較し、等しいレコードを抽出します。

この場合、内側のSELECT文の後に書かれてある項目(ここではMIN(DEPT.DEPTNO) )は、EMP.DEPTNOと比較可能なものである必要があります。

例えば、内側の問合せがSELECT DEPT.DEPTNO FROM DEPTだと、複数のレコードを返してくるので、エラーになります。

現在使用中のDBMSが入れ子の問合せに対応していないため、実習はありません。

以上で副問い合わせは終了です。


IN記述>>
http://sql.main.jp by san