質問編集履歴
2
関連した質問があったので追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -18,6 +18,17 @@
|
|
18
18
|
ただわからない点が1つあるのです。
|
19
19
|
SQL文の末尾にある、「end = 1」の「= 1」 がなぜ必要なのか分かりません。
|
20
20
|
|
21
|
+
追記
|
22
|
+
[リンク内容](https://teratail.com/questions/74917)
|
23
|
+
同じ質問をしている方がいました。しかし、end = 1の =1がなぜ必要なのかは
|
24
|
+
わからないです。
|
25
|
+
```ここに言語を入力
|
26
|
+
case 文が長いのですが構造は x = 1 と同じです。x の部分が入れ子の case 式です。
|
27
|
+
```
|
28
|
+
リンク先に上記コメントがありましたが、理解ができません。
|
29
|
+
end = 1の直前にある記述「else 1」で、「男の場合は1とする。つまり、
|
30
|
+
制約の対象にはならない」が実現していると思うのです。
|
31
|
+
|
21
32
|
### 試したこと
|
22
33
|
```sql
|
23
34
|
alter table student
|
1
sql文のインデントを変更し見やすくした
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,9 +5,9 @@
|
|
5
5
|
add constraint check_salary
|
6
6
|
check
|
7
7
|
(case when Gender = 'F'
|
8
|
-
|
8
|
+
then case when salary <= 200000
|
9
|
-
|
9
|
+
then 1 else 0 end
|
10
|
-
|
10
|
+
else 1 end = 1)
|
11
11
|
```
|
12
12
|
テーブル名:Student
|
13
13
|

|