目次
概要
ビュー ( VIEW ) とは
データそのものを保管するのではなく、データを取り出す select文だけを保存する 機能です。
ビューを使うと必要なデータが複数のテーブルにまたがる場合など、複雑な集約を行いやすくなります。
よく使うselect文は、ビューにして使い回すことができます。
ビューとテーブルの関係について
ビューとテーブルの定義
- テーブル :実際のデータを保存するところになります。
- ビュー :ビューの中にはselect文が保存されます。そのため、ビュー自体にデータはもちません。
ビューの制限
- order by句 が使えません。
- ビューに対する更新 (insert,delete,update) は、不可能ではないが制限があります。
No | 更新が可能な条件 |
---|---|
1 | select句に distinct が含まれていない |
2 | from句に含まれるテーブルが 1つ だけ |
3 | group by句を使用していない |
4 | having句を使用していない |
- ビューとテーブルの更新は連動して行われるため、集約されたビューは更新できません。
ビューのメリット
- データを保存しないので、記憶装置の容量を節約できます。
- よく使うselect文をビューにしておくことで、使い回しができます。
ビューのデメリット
- パフォーマンス低下を招く場合があります。
基本構文
create view文 を使います。
1 2 3 4 5 6 |
create view ビュー名( < ビューの列名1 > , < ビューの列名2 > , ...) as < select文 > ; |
例題:cityテーブルの国別コード(CountryCode)を数えるビューを作成してください。
1 2 3 4 5 6 7 8 9 10 11 12 |
use world; create view count_countrycode(CountryCode,count) as select CountryCode, count(CountryCode) from city group by CountryCode ; |
実行すると Views として作成したビューが格納されます。
例題:作成したビューを呼び出して無事に作成できているか確認してみましょう。
1 2 3 4 5 6 7 |
use world; select CountryCode, count from count_countrycode ; |
実行結果
ビューの削除
構文
1 2 |
drop view ビュー名 ; |