SQL の基本 | DDL: データ定義言語 | VIEW

ビュー (View) は仮想テーブルと考えることができる。テーブルとの違いは、テーブルにはデータが実際に保存されるが、ビューではテーブルから作られた構造にデータが実際には保存されない点である。

CREATE VIEW

ビューを作成する命令文は次のとおりである。

CREATE VIEW "VIEW_NAME" AS "SQL文";

SQL文 は任意の SQL でよい。

VIEW の作成

たとえば、次のようなテーブルがあるとする。

customer テーブル

列名 データ型
first_name char(50)
last_name char(50)
address char(50)
city char(50)
country char(25)
birth_date datetime

このテーブルから first_name、last_name、country の 3 つのフィールドを含むビューを作成する場合は、次のように入力する。

CREATE VIEW v_customer
AS SELECT first_name, last_name, country
FROM customer;

これで v_customer というビューが作成される。

v_customer ビュー

列名 データ型
first_name char(50)
last_name char(50)
country char(25)

テーブルを結合して作成した VIEW

ビューを使用して 2 つのテーブルを結合することもできる。これにより、ユーザーは 2 つの異なるテーブルを直接結合しなくても、ビューを通じて必要な情報を確認できる。たとえば、次の 2 つのテーブルがあるとする。

store_information テーブル

store_name sales txn_date
Los Angeles 1500 Jan-05-2018
San Diego 250 Jan-07-2018
Los Angeles 300 Jan-08-2018
Boston 700 Jan-08-2018

Geography テーブル

region_name store_name
East Boston
East New York
West Los Angeles
West San Diego

次のコマンドで、地域 (Region) ごとの売上 (Sales) を含むビューを作成できる。

CREATE VIEW v_region_sales
AS SELECT A1.region_name region, SUM(A2.sales) sales
FROM geography A1, store_Information A2
WHERE A1.store_name = A2.store_name
GROUP BY A1.region_name;

これで v_region_sales というビューが作成された。このビューには各地域の売上データが含まれる。このビューからデータを検索する場合は、次のように入力する。

SELECT * FROM v_region_sales;

上記のコマンドの結果は次のとおりである。

region sales
east 700
west 2050

DROP VIEW

DROP VIEW コマンドを使用して既存のビューを削除する。

DROP VIEW "[データベース名.]VIEW_NAME";