副問合せ - (2006/02/05 (日) 03:34:36) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
-7.1 副問合せの使用可能な句
◆副問合せは次の句の中で使用できる。
+FROM句
+WHERE句
+HAVING句
----
-7.2 副問合せ使用のガイドライン
+副問合せはカッコで囲む。
+副問合せは比較条件の右側に置く(読みやすいようにするため。左側においても問題はない)
+単一行比較条件と複数行比較条件の2種類の比較条件を使用できる。
----
-7.1 副問合せの使用可能な句
◆副問合せは次の句の中で使用できる。
+FROM句
+WHERE句
+HAVING句
----
-7.2 副問合せ使用のガイドライン
+副問合せはカッコで囲む。
+副問合せは比較条件の右側に置く(読みやすいようにするため。左側においても問題はない)
+単一行比較条件と複数行比較条件の2種類の比較条件を使用できる。
----
-7.4 副問合せについて
①単一行比較条件と複数行比較条件
比較条件には、比較できる行数の観点から、単一行比較条件と複数行比較条件がある。
【単一行比較条件(<, <=, >, >=, <>, = )】
◆副問合せの結果、データが1件だけ戻される場合に比較できる。
◆副問合せの結果としてデータが複数戻されるとエラーになる。
(例)JONESという名前の社員が2人以上いる場合にエラーになる
SELECT ename FROM emp WHERE deptno=(SELECT deptno FROM emp WHERE ename='JONES');
【複数行比較条件(IN, ALL, ANY)】
◆副問合せの結果、データが1件あるいは複数戻される場合に比較できる。(上のエラー例の比較演算子=をINにすると、エラーにならず正しく実行できる)
②単一行副問合せと複数行副問合せ
副問合せには、単一行を戻す問合せと複数行を戻す問合せがある。
【単一行副問合せ】
◆問合せの結果、データが1件だけ戻される。
◆単一行比較条件、複数行比較条件のどちらでも使える。
(例)単一GY方比較条件を使った単一行副問合せ
SELECT ename FROM emp WHERE deptno=(SELECT deptno FROM emp WHERE empno=12345)
【複数行副問合せ】
◆問合せの結果、データが複数行戻される。
◆複数行副問合せの中で単一行比較条件を使うとエラーになるので、複数行比較条件を使わなければならない。
(例)複数行比較条件を使った複数行副問合せ
SELECT ename FROM emp WHERE deptno IN (SELECT deptno FROM emp WHERE sal > 3000);
----
表示オプション
横に並べて表示:
変化行の前後のみ表示: