Latest web development tutorials

SQLのCREATE VIEW、VIEWをREPLACE、VIEW文をDROP

ビューは、視覚的なテーブルです。

この章では、作成、更新、およびビューを削除する方法について説明します。


SQLは、CREATE VIEWステートメント

SQLでは、ビューはSQL文の可視化テーブルの結果セットに基づいています。

ビューは、本物のテーブルのように、行と列が含まれています。 フィールドは、テーブル内の実際のフィールドで1つ以上のデータベースから見た図です。

あなたは、データが単一のテーブルから同じであるかのようにステートメントは、データに存在することがJOINとビューのSQL関数に追加することができます。

VIEW構文を作成するSQL

CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

注:ビューは常に最新のデータを表示!ユーザーがビューを照会するたびに、データベースエンジンは、ビューデータを再構築するSQL文を使用しています。


VIEWの例を作成するSQL

Northwindサンプルデータベースは、デフォルトのインストール・ビューのいくつかを持っています。

ビュー「現在の製品リスト」は、「製品」テーブルから(製品を中止していない)使用されているすべての製品が一覧表示されます。 このビューは、次のSQLを使用して作成されます。

CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No

私たちは、このような上記のビューを問い合せることができます。

SELECT * FROM [Current Product List]

Northwindサンプルデータベースの別のビューには、製品の平均単価単価よりも高い "製品"テーブル、すべてを選択します:

CREATE VIEW [Products Above Average Price] AS
SELECT ProductName,UnitPrice
FROM Products
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)

私たちは、このような上記のビューを問い合せることができます。

SELECT * FROM [Products Above Average Price]

Northwindサンプルデータベースの別のビューには、各カテゴリーの1997年の総売上高で計算されます。 ビューは、このビューは、データを選択する別の名前の「1997年の製品販売」からのものであることに注意してください:

CREATE VIEW [Category Sales For 1997] AS
SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales
FROM [Product Sales for 1997]
GROUP BY CategoryName

私たちは、このような上記のビューを問い合せることができます。

SELECT * FROM [Category Sales For 1997]

また、クエリに条件を追加することができます。 今、私たちは販売「飲料」カテゴリの合計数を確認する必要があります。

SELECT * FROM [Category Sales For 1997]
WHERE CategoryName='Beverages'


SQL更新ビュー

あなたは、ビューを更新するには、次の構文を使用することができます。

SQLは、VIEW構文をCREATE OR REPLACE

CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

今、私たちは、「現在の製品リスト」ビューは「カテゴリ」欄を追加することにしたいです。 私たちは、次のSQLを使用してビューを更新します。

CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName,Category
FROM Products
WHERE Discontinued=No


SQL失効ビュー

あなたはDROP VIEWコマンドによってビューを削除することができます。

SQL DROP VIEW構文

DROP VIEW view_name