ビューは、仮想テーブルです。
この章では、更新プログラムを作成し、ビューを削除する方法を示しています。
SQLは、CREATE VIEWステートメント
SQLでは、ビューは、SQL文の結果セットに基づいて、仮想テーブルです。
ビューには、本物のテーブルのように、行と列が含まれています。 ビューのフィールドは、データベース内の1つまたは複数の実テーブルからフィールドです。
あなたはWHERE、SQL関数を追加し、ビューに文をJOINと、データが1つのテーブルから来ていたかのようにデータを提示することができます。
VIEW構文を作成するSQL
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
Note:ビューは常に最新のデータを示しています! データベースエンジンはビューのSQL文、ユーザーがビューを照会するたびに使用して、データを再作成します。
VIEWの例を作成するSQL
あなたはNorthwindデータベースを使用している場合、あなたはそれがデフォルトでインストール複数のビューを持っていることがわかります。
ビュー「現在の製品リストは、「からすべてのアクティブな製品(廃止されていない製品)をリスト"Products"テーブル。 ビューは、次のSQLを使用して作成されます。
CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No
私たちは、次のように上記のビューを問い合せることができます。
SELECT * FROM [Current Product List]
Northwindサンプルデータベース内の別のビューには、内のすべての製品を選択し、 "Products"平均単価よりも高い単価を持つテーブル:
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]
また、クエリに条件を追加することができます。 今、私たちは唯一のカテゴリの総販売を見てみたい"Beverages" :
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
今、私たちは追加したい"Category" 「現在の製品リスト」ビューに列を。 私たちは、次のSQLを使用してビューを更新します。
CREATE OR REPLACE VIEW [Current Product List] AS
SELECT ProductID,ProductName,Category
FROM Products
WHERE Discontinued=No
ビューの削除SQL
あなたはDROP VIEWコマンドを使用してビューを削除することができます。
SQL DROP VIEW構文
DROP VIEW view_name