SQLのお勉強 14.view
2020-09-22
こんにちは、0371です。
今回は、SQLのお勉強をしたいと思います。
基本情報技術者試験で出題される範囲を中心に進めます。
お勉強
※ PostgreSQLはインストール済みかつ、パスも通しているという前提で進めていきます。
分からないという方は、以下の記事から始めてください。
dockerを使って、再構築が容易なSQLの練習場を作成する
"https://0371.blog/docker-sql"
前回の記事はこちら
SQLのお勉強 13.order by
"https://0371.blog/sql-13"
create view
view
を使用することで、select
の取得結果を保存することができます。
頻繁に使用するselect
文をview
にすることで、SQL
の入力が楽になります。
テーブルは実際のデータを保存していますが、ビューはselect
文そのものを仮想的に保存しています。
なので、テーブルとビューでの操作の違いはほとんどありません。
更新の操作のみ、注意するポイントがあります。
ビューを使用するメリットは、
- データを保存しないので、データ量の節約が可能。
select
文の使い回しが簡単。 の2つです。
ビューの作成には、create view
を使用します。
create view ビュー名 (ビューの列名1, ビューの列名2) as select文;
それでは、Shohin
テーブルを元にShohinSum
ビューを作成してみます。
create view ShohinSum (shohin_bunrui, cnt_shohin) as select shohin_bunrui, count(*) from Shohin group by shohin_bunrui;
cnt_shohin
のように、select
文と集約関数で条件を指定して取得した列を新しい名前でビューの列名に保存することができます。
別名をつけるときのas
は省略可能ですが、view
のas
は省略不可ですので注意してください。
ShohinSum
ビューを作成したので、実際に使用してみましょう。
これまでのテーブルと同じく、from
に使用することができます。
select shohin_bunrui, cnt_shohin from ShohinSum;
shohin_bunrui | cnt_shohin
---------------+------------
キッチン用品 | 4
衣服 | 2
事務用品 | 2
(3 rows)
このように複雑なselect
文をビューとして保存することで、簡単に集計結果を得ることができるようになります。
このビューは、テーブルのデータが更新されると自動的にビューも更新されるようになっています。
基本的には、ビューではorder by
は使用できません。
行には順序がないという決まりだからです。
drop view
ビューの削除には、以下の構文を使います。
drop view ビュー名
先ほど作成した、ShohinSum
ビューを削除します。
drop view ShohinSum;
今日はここまで。
参考書籍
SQL 第2版 ゼロからはじめるデータベース操作
"https://amzn.to/2QYMBJD"
今日の一言
view
が分かったのでSQL
はマスターしたも同然!!!!
次回の記事はこちら
SQLのお勉強 15.サブクエリ
"https://0371.blog/sql-15"