回答編集履歴
3
追記
answer
CHANGED
@@ -54,7 +54,7 @@
|
|
54
54
|
上記クエリの検索結果がO件の場合のみ「TRUE」を返します。
|
55
55
|
(※つまりメイン側のクエリのWHERE条件で抽出対象になる)
|
56
56
|
|
57
|
-
これを残りのレコード分(イブ~)
|
57
|
+
これを残りのレコード分(イブ~ノアのデータ)反復処理されます。
|
58
58
|
|
59
59
|
これと反対に**EXISTS句**というのもありますが、
|
60
60
|
これは反対にレコードが1件でもあれば「TRUE」を返し、
|
2
表現をちと修正
answer
CHANGED
File without changes
|
1
表現をちと修正
answer
CHANGED
@@ -9,11 +9,11 @@
|
|
9
9
|
直感的に分かりやすいようテーブル構成をもっと単純化してみます。
|
10
10
|
- 社員マスタ
|
11
11
|
|
12
|
-
|社員コード | 社員名
|
12
|
+
|社員コード | 社員名 |上司コード |
|
13
|
-
|:----------
|
13
|
+
|:----------|:------------ |:----------|
|
14
|
-
| 101 |キラ・ヤマト
|
14
|
+
| 101 |キラ・ヤマト |NULL |
|
15
|
-
| 201
|
15
|
+
| 201 |アスラン・ザラ |NULL |
|
16
|
-
| 301 |シン・アスカ
|
16
|
+
| 301 |シン・アスカ |201 |
|
17
17
|
|
18
18
|
上記のテーブルで「シン・アスカ」さんの上司名を知りたい・・・、
|
19
19
|
といった場合に自己結合が用いられます。
|
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
#相関副問合わせ
|
36
36
|
相関副問合せと書くと難しそうに聞こえますが、
|
37
|
-
要するにメイン側のクエリの結果1行に対して動作するクエリのことを指します。
|
37
|
+
要するにメイン側のクエリ(今回だと一番外側のクエリ)の結果1行に対して動作するクエリのことを指します。
|
38
38
|
今回の例だとNOT EXISTS句内のクエリは、
|
39
39
|
上司と別名を付けられた組織図のレコード1行ごとに動作するものとなります。
|
40
40
|
|
@@ -52,8 +52,10 @@
|
|
52
52
|
|
53
53
|
今回は**NOT EXISTS**句なので、
|
54
54
|
上記クエリの検索結果がO件の場合のみ「TRUE」を返します。
|
55
|
-
(※つまり
|
55
|
+
(※つまりメイン側のクエリのWHERE条件で抽出対象になる)
|
56
56
|
|
57
|
+
これを残りのレコード分(イブ~)
|
58
|
+
|
57
59
|
これと反対に**EXISTS句**というのもありますが、
|
58
60
|
これは反対にレコードが1件でもあれば「TRUE」を返し、
|
59
61
|
0件の場合は「FALSE」と評価されます。
|