🐘
postgreSQLのvaluesを使おう
テストがたくさんできるぜ。
select a, b from (values (1, 2), (3, 4)) as t(a, b);
検証用のクエリをかきたいけどcreate tableとかはしたくない。
そんなとき使うのがこれ。
valuesの後ろに直にカンマ区切りの括弧を入れるのがポイント。
ぶっちゃけわかりづらい。
あと、テーブル名と行の名前をasで指定しておくこと。
insert intoのvaluesのことらしい。
検証をたくさんできるぜ。
ひどい記事でごめんなさい。
追記
valuesが単体で使えることが発覚しました。これ、クエリだったんですね。
values (1,2), (3,4)
with a (v1, v2) as (values (1,2), (3,4))
select * from a;
ついでにテストデータをおいておきます。
-- written by gemini
with polys (id, area_name, geom) AS (
values
(1, '東京駅丸の内駅舎', ST_GeomFromText('POLYGON((139.766 35.681, 139.768 35.681, 139.768 35.682, 139.766 35.682, 139.766 35.681))', 4326)),
(2, '丸ビル・新丸ビル付近', ST_GeomFromText('POLYGON((139.763 35.681, 139.765 35.681, 139.765 35.683, 139.763 35.683, 139.763 35.681))', 4326)),
(3, '八重洲側口エリア', ST_GeomFromText('POLYGON((139.769 35.680, 139.771 35.680, 139.771 35.682, 139.769 35.682, 139.769 35.680))', 4326)),
(4, '皇居外苑(和田倉門付近)', ST_GeomFromText('POLYGON((139.759 35.681, 139.761 35.681, 139.761 35.683, 139.759 35.683, 139.759 35.681))', 4326)),
(5, '有楽町・鍛冶橋交差点方面', ST_GeomFromText('POLYGON((139.766 35.676, 139.768 35.676, 139.768 35.678, 139.766 35.678, 139.766 35.676))', 4326))
)
select * from polys;
Discussion