ビュー操作のまとめ【PostgreSQL】
【頻出】ビュー操作のまとめ
ビュー操作のうち、特に頻出のものをまとめました。
1.ビューの作成
CREATE OR REPLACE VIEW ビュー名 AS
SELECT xxx , xxx, … FROM テーブル名;
ここで詳しく説明しています → ビュー(VIEW)を作成する、削除する
2.ビューの削除
DROP VIEW ビュー名;
ここで詳しく説明しています → ビュー(VIEW)を作成する、削除する
3.マテリアライズドビューの作成
--ビュー作成の構文にMATERIALIZEDがつく形
CREATE MATERIALIZED VIEW ビュー名 AS
SELECT xxx , xxx, … FROM テーブル名;
ここで詳しく説明しています → マテリアライズドビュー(マテビュー)を作成する
4.マテリアライズドビューのINDEX作成
CREATE UNIQUE INDEX ON マテビュー名(列1 , 列2 , ・・・);
5.マテリアライズドビューの更新
REFRESH MATERIALIZED VIEW マテビュー名; --通常のリフレッシュ文
REFRESH MATERIALIZED VIEW CONCURRENTLY マテビュー名; --←これにはINDEX作成が必要
6.ウィンドウ関数
SELECT
rank() OVER(PARTITION BY 列名 order by 列名 desc) AS aaa
--avg(列名)、min(列名)、max(列名)、sum(列名)等も使える
--filterで集計する対象を指定できる。FROMの後のWHEREとは意味が異なる点に注意。
, avg(列名) filter(where 条件文) OVER(PARTITION BY 列名 order by 列名 desc) AS bbb
FROM テーブル名
WHERE XXXX --ここの条件文はSELECT文そのものの抽出条件