質問するログイン新規登録

回答編集履歴

3

追記

2016/10/17 13:32

投稿

Panzer_vor
Panzer_vor

スコア1636

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

表現をちと修正

2016/10/17 13:31

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
File without changes

1

表現をちと修正

2016/10/17 13:30

投稿

Panzer_vor
Panzer_vor

スコア1636

answer CHANGED
@@ -9,11 +9,11 @@
9
9
  直感的に分かりやすいようテーブル構成をもっと単純化してみます。
10
10
  - 社員マスタ
11
11
 
12
- |社員コード | 社員名 |上司コード |
12
+ |社員コード | 社員名 |上司コード |
13
- |:-----------|:------------|:------------|
13
+ |:----------|:------------ |:----------|
14
- | 101 |キラ・ヤマト |NULL |
14
+ | 101 |キラ・ヤマト |NULL |
15
- | 201 |アスラン・ザラ |NULL |
15
+ | 201 |アスラン・ザラ |NULL |
16
- | 301 |シン・アスカ |201 |
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
- (※つまりWHERE句の抽出対象になる)
55
+ (※つまりメイン側クエリのWHERE条件で抽出対象になる)
56
56
 
57
+ これを残りのレコード分(イブ~)
58
+
57
59
  これと反対に**EXISTS句**というのもありますが、
58
60
  これは反対にレコードが1件でもあれば「TRUE」を返し、
59
61
  0件の場合は「FALSE」と評価されます。