SQLビュー
ビューは視覚的なテーブルです。
この章では、ビューを作成、更新、削除する方法について説明します。
SQL CREATE VIEW ステートメント
SQL では、ビューは SQL ステートメントの結果セットに基づく視覚的なテーブルです。
ビューには、実際のテーブルと同じように、行と列が含まれています。ビュー内のフィールドは、1 つ以上のデータベース内の実際のテーブルのフィールドです。
SQL 関数、WHERE および JOIN ステートメントをビューに追加し、単一のテーブルからのものであるかのようにデータを表示できます。
SQL CREATE VIEW 構文
SELECT column_name(s)
FROM table_name
WHERE 条件
注: View は常に最新のデータを表示します。ユーザーがビューにクエリを実行するたびに、データベース エンジンはビューの SQL ステートメントを使用してデータを再構築します。
SQL CREATE VIEW の例
サンプル データベース Northwind には、デフォルトでいくつかのビューがインストールされています。
「現在の製品リスト」ビューには、「製品」テーブルのすべてのアクティブな製品 (製造中止されていない製品) がリストされます。このビューは次の SQL を使用して作成されます:
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No
上記のビューを次のようにクエリできます:
Northwind サンプル データベースの別のビューでは、単価が平均単価より高い「製品」テーブル内のすべての製品が選択されます:
SELECT ProductName,UnitPrice
FROM Products
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)
上記のビューを次のようにクエリできます:
別のビューNorthwind サンプル データベース 1997 年の各カテゴリの総売上高が計算されます。このビューは、「1997 年の製品売上」という名前の別のビューからデータを選択することに注意してください:
SELECT DISTINCT categoryName,Sum(ProductSales) AS categorySales
FROM [1997 年の製品売上]
GROUP BY CategoryName
上記のビューを次のようにクエリできます:
クエリに条件を追加することもできます。ここで、「飲料」カテゴリの総売上高を確認する必要があります:
WHERE categoryName='飲料'
SQL 更新ビュー
次の構文を使用してビューを更新できます:
SQL CREATE OR REPLACE VIEW 構文
SELECT column_name(s)
FROM table_name
WHERE 条件
次に、「現在の製品リスト」ビューに「カテゴリ」列を追加します。次の SQL を通じてビューを更新します:
SELECT ProductID,ProductName,Category
FROM Products
WHERE Discontinued=No
SQL ビューを中止します
を使用できますDROP VIEW コマンドを使用してビューを削除します。