ビュー (Views) はヴァーチャルテーブルと見られます。テーブルとの相違点は、テーブルの中にデータが実際に保存されているが、ビューはテーブルの上に作られた構造で、データが実際に保存されていないのです。
ビューを作るプログラミングは次のようになります。
CREATE VIEW "VIEW_NAME" AS "SQL 文"
"SQL 文" は、この教材の中で提示された何れのSQLもいいです。
例を見てみましょう。かりに、次のようなテーブルがあるとします。
Customer テーブル
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)
そして、このテーブルの上に First_Name、Last_Name と Country の三フィールドが含まれるビューを作る場合、次のように入力します。
CREATE VIEW V_Customer
AS SELECT First_Name, Last_Name, Country
FROM Customer
そうすると、 V_Customer というビューができました。
View V_Customer
(First_Name char(50),
Last_Name char(50),
Country char(25))
ビューを使って、二つのテーブルを結合することもできます。そこで、ユーザは二つの異なるテーブルを結合してなくても、ビューによって、必要な情報を直接に調べることができるのです。仮に、次のような二つのテーブルがあるとします。
Store_Information テーブル
| store_name |
Sales |
Date |
| Los Angeles |
$1500 |
Jan-05-1999 |
| San Diego |
$250 |
Jan-07-1999 |
| Los Angeles |
$300 |
Jan-08-1999 |
| Boston |
$700 |
Jan-08-1999 |
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 |