#記事内容
- ビューとは
- ビューの作成
- ビューの削除
#ビューとは
データを取り出すSELECT文だけ
を保存する仮想的なテーブルのこと
##テーブルとビューの違い
テーブル
- 実際のデータを保存
ビュー
- SELECT文を保存するのみで、データを持たない
##ビューのメリット
- 必要なデータが複数のテーブルにまたがる場合などの複雑な集約を行いやすくなる
- 使用頻度が高いSELECT文をビューにすることで使い回すことができる
- データを保存しないので記憶装置の容量を節約できる
##ビューの制限
- order by句を使用できない
- ビューに対する変更には制限があり、下記の条件をみたす場合のみ更新が可能
select句
にdistinct
が含まれていないことfrom句
に含まれるテーブルが1つのみであることgroup by句
を使用していないことhaing句
を使用していないこと
ビューとテーブルの更新は連動して行われるため、集約されたビューは更新できない
#ビューの作成
create view文を使用
-- 構文
create view ビュー名(<ビューの列名1>, <ビューの列名2>, ...)
as
<select文>
-- 都道府県別のユーザー数を取得したデータをビューに保存
create view prefecture_user_counts(name, count)
as
select
p.name name,
count(*) count
from
users u
inner join
prefectures p
on u.prefecture_id = p.id
group by
u.prefecture_id;
##ビューの使用方法
-- 構文
select
<ビューの列名1>,
<ビューの列名2>,...
from
<ビュー名>;
-- prifecture_user_countsを使用する場合
select
name,
count
from
prifecture_user_counts;
##ビューの削除
drop view文を使用
-- 構文
drop view <ビュー名>;
##参考記事