質問編集履歴

4

あfsだsf

2021/11/09 02:34

投稿

esklia
esklia

スコア81

test CHANGED
File without changes
test CHANGED
@@ -91,3 +91,11 @@
91
91
  from students
92
92
 
93
93
  ```
94
+
95
+
96
+
97
+ 追記
98
+
99
+
100
+
101
+ ![イメージ説明](a43485610e8731d9f566381161ba0684.png)

3

うんこ

2021/11/09 02:34

投稿

esklia
esklia

スコア81

test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
- where句のあとのandの条件をs2に変更したものですが、これは正直事故結合だしどちらでも関係ないだろうと思っていました。目的が達成できるコードとそうでないコードの挙動の違いはどこにあるのでしょうか。また、根本的に理解できていない点を指摘していただきたいです。よろしくお願いいたします。
31
+ where句のあとのandの条件をs2に変更したものですが、これは正直自己結合だしどちらでも動作に違いがないだろうと思っていました。目的が達成できるコードとそうでないコードの挙動の違いはどこにあるのでしょうか。また、根本的に理解できていない点を指摘していただきたいです。よろしくお願いいたします。
32
32
 
33
33
 
34
34
 

2

うんこ

2021/11/04 09:39

投稿

esklia
esklia

スコア81

test CHANGED
File without changes
test CHANGED
@@ -29,3 +29,65 @@
29
29
 
30
30
 
31
31
  where句のあとのandの条件をs2に変更したものですが、これは正直事故結合だしどちらでも関係ないだろうと思っていました。目的が達成できるコードとそうでないコードの挙動の違いはどこにあるのでしょうか。また、根本的に理解できていない点を指摘していただきたいです。よろしくお願いいたします。
32
+
33
+
34
+
35
+ コード
36
+
37
+ ```
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+ drop TABLE Students;
46
+
47
+ CREATE TABLE Students
48
+
49
+ (student_id INTEGER PRIMARY KEY,
50
+
51
+ dpt VARCHAR(16) NOT NULL,
52
+
53
+ sbmt_date DATE);
54
+
55
+
56
+
57
+ INSERT INTO Students VALUES(100, '理学部', '2018-10-10');
58
+
59
+ INSERT INTO Students VALUES(101, '理学部', '2018-09-22');
60
+
61
+ INSERT INTO Students VALUES(102, '文学部', NULL);
62
+
63
+ INSERT INTO Students VALUES(103, '文学部', '2018-09-10');
64
+
65
+ INSERT INTO Students VALUES(200, '文学部', '2018-09-22');
66
+
67
+ INSERT INTO Students VALUES(201, '工学部', NULL);
68
+
69
+ INSERT INTO Students VALUES(202, '経済学部', '2018-09-25');
70
+
71
+
72
+
73
+ select *
74
+
75
+ from students s1
76
+
77
+ WHERE not exists(select *
78
+
79
+ from students s2
80
+
81
+ WHERE s1.dpt = s2.dpt
82
+
83
+ and s2.sbmt_date is null
84
+
85
+ );
86
+
87
+
88
+
89
+ select *
90
+
91
+ from students
92
+
93
+ ```

1

2021/11/04 09:38

投稿

esklia
esklia

スコア81

test CHANGED
File without changes
test CHANGED
@@ -12,9 +12,9 @@
12
12
 
13
13
  考えていたこととしては、
14
14
 
15
- 「相関サブクエリでdptごとにexistsを適用しよう(言語不足)。
15
+ 「相関サブクエリでdptごとにexistsを適用しよう(言語不足)。
16
16
 
17
- あるdptにおいて、s1.sbmt_dateがnullであるを満たさない行が一つもないdptが以下のクエリで取得できるだろう」とかんがえていました。
17
+ あるdptにおいて、s1.sbmt_dateがnullであるという条件を満たさない行が一つもないdpt」である理学部と経済学部が以下のクエリで取得できるだろう」とかんがえていました。
18
18
 
19
19
  ![イメージ説明](b7bce0a5e2f36553fd0add02117e7fe0.png)
20
20