回答編集履歴

3

修正

2015/11/23 21:35

投稿

hirohiro
hirohiro

スコア2068

test CHANGED
@@ -28,37 +28,9 @@
28
28
 
29
29
  ```
30
30
 
31
- ```sql
32
-
33
- /* もしくは */
34
-
35
- SELECT *
36
-
37
- FROM members m
38
-
39
- WHERE EXISTS (
40
-
41
- SELECT *
42
-
43
- FROM sales s
44
-
45
- WHERE m.member_id = s.member_id
46
-
47
- )
48
-
49
- AND sale > (
50
-
51
- SELECT avg(sale)
52
-
53
- FROM sales
54
-
55
- );
56
-
57
- ```
58
-
59
31
  これでも動作するんじゃないかと思います。
60
32
 
61
- しかしサブクエリをネスト(or多用)すると重いと聞きますので、アナライズは行った方が良いかも知れません。
33
+ しかしサブクエリをネストすると重いと聞きますので、アナライズは行った方が良いかも知れません。
62
34
 
63
35
  ※実質最下層のサブクエリは固定値の取得だけなので、existsが速いかjoinが速いかという話になりそうですが…。
64
36
 

2

表現修正

2015/11/23 21:35

投稿

hirohiro
hirohiro

スコア2068

test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  これでも動作するんじゃないかと思います。
60
60
 
61
- しかしサブクエリをネストすると重いと聞きますので、アナライズは行った方が良いかも知れません。
61
+ しかしサブクエリをネスト(or多用)すると重いと聞きますので、アナライズは行った方が良いかも知れません。
62
62
 
63
63
  ※実質最下層のサブクエリは固定値の取得だけなので、existsが速いかjoinが速いかという話になりそうですが…。
64
64
 

1

追記

2015/11/23 21:34

投稿

hirohiro
hirohiro

スコア2068

test CHANGED
@@ -28,6 +28,34 @@
28
28
 
29
29
  ```
30
30
 
31
+ ```sql
32
+
33
+ /* もしくは */
34
+
35
+ SELECT *
36
+
37
+ FROM members m
38
+
39
+ WHERE EXISTS (
40
+
41
+ SELECT *
42
+
43
+ FROM sales s
44
+
45
+ WHERE m.member_id = s.member_id
46
+
47
+ )
48
+
49
+ AND sale > (
50
+
51
+ SELECT avg(sale)
52
+
53
+ FROM sales
54
+
55
+ );
56
+
57
+ ```
58
+
31
59
  これでも動作するんじゃないかと思います。
32
60
 
33
61
  しかしサブクエリをネストすると重いと聞きますので、アナライズは行った方が良いかも知れません。