回答編集履歴

4

追記

2021/04/10 12:49

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -37,3 +37,9 @@
37
37
  group by id
38
38
 
39
39
  ```
40
+
41
+ ※こちらはnekoさんの回答に近い動作をすると思います。
42
+
43
+
44
+
45
+ それぞれの回答の実行計画をフィードバックしてくれると有難いですけど。

3

追記

2021/04/10 12:49

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -1,4 +1,4 @@
1
- 相関副問合せを使用し場合
1
+ 相関副問合せを使用し場合
2
2
 
3
3
  ```SQL
4
4
 
@@ -15,3 +15,25 @@
15
15
  group by id
16
16
 
17
17
  ```
18
+
19
+ インラインビューを使用した場合
20
+
21
+ ```SQL
22
+
23
+ select id
24
+
25
+ from table_a t1
26
+
27
+ left join (
28
+
29
+ select id from table_a where name is null group by id
30
+
31
+ ) t2
32
+
33
+ on t1.id = t2.id
34
+
35
+ where t2.id is null
36
+
37
+ group by id
38
+
39
+ ```

2

訂正

2021/04/10 12:44

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -1 +1,17 @@
1
+ 相関副問合せを使用し場合
2
+
3
+ ```SQL
4
+
5
+ select id
6
+
7
+ from table_a ta
8
+
1
- 編集中・・・しばらくお待ちください。
9
+ where not exists(
10
+
11
+ select 1 from table_a where id=ta.id and name is null
12
+
13
+ )
14
+
15
+ group by id
16
+
17
+ ```

1

推敲

2021/04/10 12:36

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -1,27 +1 @@
1
- > サブクエリを使わず取得する方法(group byなど)ありますでしょうか?
2
-
3
-
4
-
5
- 逆になぜ態々サブクエリー使うの?と思ってしまいますが。
6
-
7
- ```SQL
8
-
9
- select distinct id
1
+ 編集中・・・しばらくお待ちください。
10
-
11
- from table_a
12
-
13
- where name is not null
14
-
15
- ```
16
-
17
- ```SQL
18
-
19
- select id
20
-
21
- from table_a
22
-
23
- where name is not null
24
-
25
- group by id
26
-
27
- ```