PostgreSQL 例を使用してビューを作成する

何ですか PostgreSQL 意見?

In PostgreSQL、ビューは疑似テーブルです。これは、ビューが実際のテーブルではないことを意味します。ただし、通常のテーブルとして SELECT することはできます。ビューにはテーブル列のすべてまたは一部を含めることができます。ビューは、複数のテーブルを表すこともできます。

テーブルはベース テーブルと呼ばれます。ビューを作成するときは、クエリを作成して名前を付けるだけでよいため、複雑でよく使用されるクエリをラップするための便利なツールになります。

作成 PostgreSQL ビュー

作成するには PostgreSQL ビューを作成するには、CREATE VIEW ステートメントを使用します。このステートメントの構文は次のとおりです。

CREATE [OR REPLACE] VIEW view-name AS
  SELECT column(s)
  FROM table(s)
  [WHERE condition(s)];

OR REPLACE パラメータは、ビューがすでに存在する場合にビューを置き換えます。 省略した場合、ビューがすでに存在する場合、エラーが返されます。

view-name パラメータは、作成する必要があるビューの名前です。

WHERE 条件はオプションであり、レコードをビューに追加するには条件を満たす必要があります。

以下の価格表を考えてみましょう。

価格:

作成 PostgreSQL ビュー

上の表からビューを作成してみましょう。

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

上記のコマンドは、 SELECTステートメント。 価格が 200 を超えるレコードのみがビューに追加されます。 ビューには Price_View という名前が付けられています。 クエリを実行して内容を確認してみましょう。

SELECT *
FROM Price_View;

これにより、次が返されます。

作成 PostgreSQL ビュー

ベース テーブルには 4 つのレコードがありますが、ビューに追加されたのは 2 つだけです。

ここでは、ビューに列を XNUMX つだけ追加できます。 Price テーブルの列を XNUMX つだけ含むビューを作成してみましょう。

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

ビューには Price_View2 という名前が付けられており、Price テーブルの価格列のみが含まれています。 ビューにクエリを実行して、その内容を確認してみましょう。

SELECT *
FROM Price_View2;

これにより、次が返されます。

作成 PostgreSQL ビュー

を変える、 PostgreSQL ビュー

ビューの定義は、削除しなくても変更できます。 これは、CREATE OR REPLACE VIEW ステートメントを使用して行われます。

Price_View2 という名前のビューを更新して、これを実証してみましょう。

価格_ビュー2:

を変える、 PostgreSQL ビュー

Book テーブルは次のとおりです。

本:

を変える、 PostgreSQL ビュー

価格表は次のとおりです。

価格:

を変える、 PostgreSQL ビュー

次のクエリは、ビュー Price_View2 を更新するのに役立ちます。

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

次に、ビューにクエリを実行して、その内容を確認してみましょう。

を変える、 PostgreSQL ビュー

ビューが変更され、XNUMX つの異なるテーブルからの XNUMX つの列が表示されます。 これは、JOIN ステートメントを使用して実現されます。

削除 PostgreSQL ビュー

削除する必要があるときはいつでも、 PostgreSQL ビュー。 DROP VIEW ステートメントを使用できます。ステートメントの構文は次のとおりです。

DROP VIEW [IF EXISTS] view-name;

パラメータ view-name は、削除するビューの名前です。

この構文では、IF EXISTS はオプションです。 必要なだけです。 これを指定せずに、存在しないビューを削除しようとすると、エラーが発生します。

たとえば、Price_View2 という名前のビューを削除するには、次のステートメントを実行します。

DROP VIEW Price_View2;

ビューは削除されます。

pgAdminの使用

ここで、pgAdmin を使用してこれらのアクションをどのように実行できるかを見てみましょう。

作成 PostgreSQL ビュー

pgAdmin を使用して同じことを実行するには、次の手順を実行します。

ステップ1) pgAdmin アカウントにログインします。

ステップ2)

  1. 左側のナビゲーション バーで、[データベース] をクリックします。
  2. 「デモ」をクリックします。

作成 PostgreSQL pgAdmin を使用したビュー

ステップ3) クエリ エディターにクエリを入力します。

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

ステップ4) 「実行」ボタンをクリックします。

作成 PostgreSQL pgAdmin を使用したビュー

ステップ 5) ビューの内容を表示するには、次の手順を実行します。

  1. クエリ エディターに次のコマンドを入力します。
  2. SELECT *
    FROM Price_View;
    
  3. 「実行」ボタンをクリックします。

作成 PostgreSQL pgAdmin を使用したビュー

次のように返されます。

作成 PostgreSQL pgAdmin を使用したビュー

ビュー Price_View2 を作成するには、次の手順を実行します。

ステップ1) クエリ エディターに次のクエリを入力します。

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

ステップ 2) 「実行」ボタンをクリックします。

作成 PostgreSQL pgAdmin を使用したビュー

ステップ3) ビューの内容を表示するには、次の手順を実行します。

  1. クエリ エディターに次のクエリを入力します。
  2. SELECT *
    FROM Price_View2;
    
  3. 「実行」ボタンをクリックします。

作成 PostgreSQL pgAdmin を使用したビュー

次のように返されます。

作成 PostgreSQL pgAdmin を使用したビュー

を変える、 PostgreSQL ビュー

pgAdmin を使用して同じことを実行するには、次の手順を実行します。

ステップ1) pgAdmin アカウントにログインします。

ステップ2)

  1. 左側のナビゲーション バーで、[データベース] をクリックします。
  2. 「デモ」をクリックします。

を変える、 PostgreSQL pgAdmin を使用したビュー

ステップ3) クエリ エディターにクエリを入力します。

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

ステップ4) 「実行」ボタンをクリックします。

を変える、 PostgreSQL pgAdmin を使用したビュー

ステップ5) クエリ エディターに次のクエリを入力します。

SELECT * 
FROM Price_View2;

次のように返されます。

を変える、 PostgreSQL pgAdmin を使用したビュー

削除 PostgreSQL ビュー

pgAdmin を使用して同じことを実行するには、次の手順を実行します。

ステップ1) pgAdmin アカウントにログインします。

ステップ2)

  1. 左側のナビゲーション バーで、[データベース] をクリックします。
  2. 「デモ」をクリックします。

削除 PostgreSQL pgAdmin を使用したビュー

ステップ3) クエリ エディターにクエリを入力します。

DROP VIEW Price_View2;

ステップ4) 「実行」ボタンをクリックします。

削除 PostgreSQL pgAdmin を使用したビュー

ビューは削除されます。

まとめ

  • A PostgreSQL view は疑似テーブルであり、実際のテーブルではないことを意味します。
  • ビューは XNUMX つ以上のテーブルから作成できます。
  • ビューの作成元となるテーブルはベース テーブルと呼ばれます。
  • ビューを作成するには、CREATE OR REPLACE VIEW ステートメントを使用します。
  • ビューの定義を変更するには、CREATE OR REPLACE VIEW ステートメントを使用します。
  • ビューを削除するには、DROP VIEW ステートメントを使用します。

このチュートリアルで使用するデータベースをダウンロードする