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

質問編集履歴

2

関連した質問があったので追記

2020/12/13 15:10

投稿

magi201903
magi201903

スコア29

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文のインデントを変更し見やすくした

2020/12/13 15:10

投稿

magi201903
magi201903

スコア29

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
- then case when salary <= 200000
8
+ then case when salary <= 200000
9
- then 1 else 0 end
9
+ then 1 else 0 end
10
-     else 1 end = 1)
10
+ else 1 end = 1)
11
11
  ```
12
12
  テーブル名:Student
13
13
  ![イメージ説明](cb203167444b4b4f8b449785298fc27b.png)