SQLの勉強をし始めました。
「達人に学ぶSQL徹底指南書」でCase式の入れ子(p15)で質問です。
「女性社員の給料は20万円以下」という
言語道断の人事テーブルのCHECK制約についてです。
回答は
constraint check_sarary CHECK(
case when sex = '2' then case when salary <= 200000
then 1 else 0 end
else 1 end = 1)
です。
なぜCase式を入れ子にする必要があるのでしょうか。
また、salary <= 200000以降の
「then 1 else 0 end
else 1 end = 1」の意味も分かっていません
constraint check_sarary CHECK(
case when sex = '2' then salary <= 200000
else salary end)
とはならないのでしょうか。
ご返信は夜になると思いますが、
宜しくお願いします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。