PostgreSQL

PostgreSQL with句

with句自体の書き方はOracleと同じですが、PostgreSQL独自のVALUEリストと組み合わせて利用するとさらに便利に感じます。

VALUEリストと組み合わせた利用例
with wktbl as (
SELECT * FROM (VALUES
        (1, '山本', 'yamamoto'),
        (2, '中嶋', 'nakajima'),
        (3, '川本', 'kawamoto'),
        (4, '大嶋', 'oshima'),
        (5, '小嶋', 'kojima')
    ) AS t(
        lno,  name, roma
    )
)
select * from wktbl order by 1;
myposdb=# with wktbl as (
myposdb(# SELECT * FROM (VALUES
myposdb(#         (1, '山本', 'yamamoto'),
myposdb(#         (2, '中嶋', 'nakajima'),
myposdb(#         (3, '川本', 'kawamoto'),
myposdb(#         (4, '大嶋', 'oshima'),
myposdb(#         (5, '小嶋', 'kojima')
myposdb(#     ) AS t(
myposdb(#         lno,  name, roma
myposdb(#     )
myposdb(# )
myposdb-# select * from wktbl order by 1;
 lno | name |   roma
-----+------+----------
   1 | 山本 | yamamoto
   2 | 中嶋 | nakajima
   3 | 川本 | kawamoto
   4 | 大嶋 | oshima
   5 | 小嶋 | kojima
(5 行)


myposdb=#
スポンサーリンク
タイトルとURLをコピーしました