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

回答編集履歴

3

追記

2018/01/22 02:38

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,5 +1,6 @@
1
- 個人的な意見としてですが、
1
+ 個人的な意見としてですが、「実行プランの差も出ない」前提ですが、
2
2
  交差テーブルということであれば、その関係性における条件なので、「●ON句に書くべき根拠」派です。
3
+ ※選択肢にはないですが、厳密には「コストが低い方に使い分ける派」ですけど。
3
4
 
4
5
  細かい点で言うとその交差テーブルの削除日時に関しては、交差テーブルとして独立したもので、
5
6
  サブクエリーとして条件をwhereに記述することもできます。

2

修正

2018/01/22 02:38

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -4,10 +4,8 @@
4
4
  細かい点で言うとその交差テーブルの削除日時に関しては、交差テーブルとして独立したもので、
5
5
  サブクエリーとして条件をwhereに記述することもできます。
6
6
 
7
- それをサブクエリーではなく記述するとれなくon句での記述となります。
7
+ それをサブクエリーではなく記述するとれなくon句での記述となります。
8
8
 
9
- また削除云々ではなく、結合相手の日付項目と設定日時と削除日時でbetweenにより結合する場合も考えられますら。
9
+ また削除云々ではなく、結合相手の日付項目と設定日時と削除日時でbetweenにより結合する場合も考えられますし、等結合な関係ありませんが、外部結合である場合、where条件に記述する際には、Null考慮が必要になる点です
10
10
 
11
- それから、等結合なら関係ありませんが、外部結合である場合、where条件に記述する際には、Null考慮が必要になる点です。
12
-
13
11
  ※本題とは逸れますが、こういった条件に関係する項目はNot Nullとする設計を行って、インデックスを効率的に使用する方が良いかと思います。

1

追記

2018/01/22 02:33

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -8,4 +8,6 @@
8
8
 
9
9
  また削除云々ではなく、結合相手の日付項目と設定日時と削除日時でbetweenにより結合する場合も考えられますから。
10
10
 
11
+ それから、等結合なら関係ありませんが、外部結合である場合、where条件に記述する際には、Null考慮が必要になる点です。
12
+
11
- 本題とは逸れますが、こういった条件に関係する項目はNot Nullとする設計を行って、インデックスを効率的に使用する方が良いかと思います。
13
+ 本題とは逸れますが、こういった条件に関係する項目はNot Nullとする設計を行って、インデックスを効率的に使用する方が良いかと思います。