無題

アレルギーで海老が全く食べられない人と、
玉葱は苦手だけど少しなら食べられる人の例をSQLで表すとこうなるw

INSERT INTO ramen VALUES 
('{"名前":"ちゃんぽん", "具":{"豚肉":4,"海老":2,"キャベツ":10,"玉葱":3}}'),
('{"名前":"八王子ラーメン", "具":{"チャーシュー":5,"玉葱":3,"メンマ":2,"葱":4}}'),
('{"名前":"竹岡ラーメン", "具":{"チャーシュー":5,"玉葱":10}}');
INSERT 0 3
SELECT data->>'名前' AS name, CASE 
  WHEN data#>>'{具,海老}' is NULL 
  THEN '麺類 is alive' 
  ELSE '麺類 is dead' END AS statsu
  FROM ramen;
      name      |    statsu     
----------------+---------------
 ちゃんぽん     | 麺類 is dead
 八王子ラーメン | 麺類 is alive
 竹岡ラーメン   | 麺類 is alive
(3 rows)

SELECT data->>'名前' AS name, CASE 
  WHEN (data#>>'{具,玉葱}')::int <= 3 
  THEN 'ぬこ is alive' 
  ELSE 'ぬこ is dead' END AS statsu
  FROM ramen;
      name      |    statsu     
----------------+---------------
 ちゃんぽん     | ぬこ is alive
 八王子ラーメン | ぬこ is alive
 竹岡ラーメン   | ぬこ is dead
(3 rows)