質問編集履歴

2

typo

2018/01/22 13:54

投稿

yuba
yuba

スコア5568

test CHANGED
File without changes
test CHANGED
@@ -82,7 +82,7 @@
82
82
 
83
83
  ```
84
84
 
85
- B. フォロー関係の生存期間をONで判定
85
+ B. フォロー関係の生存期間をWHEREで判定
86
86
 
87
87
  ```sql
88
88
 

1

具体例の追加

2018/01/22 13:54

投稿

yuba
yuba

スコア5568

test CHANGED
File without changes
test CHANGED
@@ -29,3 +29,75 @@
29
29
 
30
30
 
31
31
  自分で思いつくメリットデメリットは以上のような感じですが、ほかに考慮点があったら教えてください。
32
+
33
+
34
+
35
+ 具体例の追記
36
+
37
+ ---
38
+
39
+ usersテーブル
40
+
41
+ |user_id|nickname|face_image|
42
+
43
+ |--|--|--|
44
+
45
+ |1|Alice|(BLOB)|
46
+
47
+ |2|Bob|(BLOB)|
48
+
49
+ |3|Charley|(BLOB)|
50
+
51
+
52
+
53
+ followingテーブル
54
+
55
+ |follower_user_id|followee_user_id|created_at|deleted_at|
56
+
57
+ |--|--|--|--|
58
+
59
+ |1|2|2015-01-01|9999-12-31|
60
+
61
+ |2|3|2015-01-01|2016-12-31|
62
+
63
+
64
+
65
+ このとき、あるユーザーのフォロワー一覧を表示しようとしたら
66
+
67
+
68
+
69
+ A. フォロー関係の生存期間をONで判定
70
+
71
+ ```sql
72
+
73
+ SELECT u.user_id, u.nickname, u.face_image
74
+
75
+ FROM following f
76
+
77
+ JOIN users u
78
+
79
+ ON (f.follower_user_id = u.user_id AND current_time < f.deleted_at)
80
+
81
+ WHERE f.followee_user_id = ?
82
+
83
+ ```
84
+
85
+ B. フォロー関係の生存期間をONで判定
86
+
87
+ ```sql
88
+
89
+ SELECT u.user_id, u.nickname, u.face_image
90
+
91
+ FROM following f
92
+
93
+ JOIN users u
94
+
95
+ ON (f.follower_user_id = u.user_id)
96
+
97
+ WHERE f.followee_user_id = ? AND current_time < f.deleted_at
98
+
99
+ ```
100
+
101
+
102
+
103
+ どちらの記法を選びますか、その根拠はどういったものが考えられますか、という質問になります。