技術メモのかけら

内容はもとより調べたことすら忘れてしまうので個人的な技術メモを残しているブログです。Qiitaの記事にするほどでもない細かいネタを投稿します。

SQL中のVALUES

SELECT句が使える場所ならどこでもVALUESが使えるとのこと。

-- select 1,'one' union select 2,'two' union select 3,'three'と等価
postgres=# VALUES (1, 'one'), (2, 'two'), (3, 'three');
 column1 | column2
---------+---------
       1 | one
       2 | two
       3 | three
(3 rows)

asで別名をつければテーブルを指定できるところに使える。列名はデフォルトでcolumn1, column2のようになる。

postgres=# select column1,column2 from (values ('あいうえお',1),('かきくけこ',2),('さしすせそ',3)) as t;
  column1   | column2
------------+---------
 あいうえお |       1
 かきくけこ |       2
 さしすせそ |       3
(3 rows)

列名をつけることも可能です。

select no,hiragana from (values ('あいうえお',1),('かきくけこ',2),('さしすせそ',3)) as t(hiragana,no);