SQL Serverでは、クエリをビューとして保存できます。ビューは、セキュリティ、使いやすさ、利便性など、さまざまな理由で有益です。
SQL Serverでは、ビュー 内容がクエリによって定義される仮想テーブルです。これは基本的に、データベースに保存される事前に作成されたクエリです。
ビューはSELECT
で構成されます ステートメントを作成し、ビューに対してクエリを実行すると、テーブルを開いたときと同じように結果が表示されます。ビューは、複数のテーブルからデータをまとめたり、データを集約したりして、単一のテーブルであるかのように表示できるため、仮想テーブルと呼ばれます。
ビューのメリット
ビューは、アクセスレベルが異なる複数のユーザーがいて、すべてのユーザーがデータベース内のデータの一部(必ずしもすべてのデータである必要はない)を表示する必要がある場合に役立ちます。ビューは次のことを実行できます:
- テーブル内の特定の行へのアクセスを制限する
- テーブル内の特定の列へのアクセスを制限する
- 複数のテーブルの列を結合して、単一のテーブルの一部であるかのように表示します
- 集計情報(
COUNT()
の結果など)を提示します 機能)
ビューを作成する方法
ビューを作成するには、CREATE VIEW
を使用します ステートメントの後にSELECT
が続きます ステートメント。
CREATE VIEW ViewName AS SELECT ...
これですべてです。そのステートメントを実行すると、ビューがデータベースに保存されます
例
ビューを作成し、そのビューからデータを選択する例を次に示します。
-
ビューを作成する
このチュートリアル全体で作成した音楽データベースに対して次のステートメントを実行します。
この例では、RockAlbumsというビューを作成します。 「ロック」のジャンルが割り当てられているすべてのアルバムを選択します。
CREATE VIEW RockAlbums AS SELECT AlbumName, ArtistName FROM Albums INNER JOIN Artists ON Albums.ArtistId = Artists.ArtistId INNER JOIN Genres ON Albums.GenreId = Genres.GenreId WHERE Genres.Genre = 'Rock';
-
ビューを表示
ビューを展開します 新しく作成されたビューを表示するには、該当するデータベースの下のノード。ビューのノードを展開して、その定義に含まれている列を表示することもできます。
-
ビューを実行する
ビューが作成されたので、
SELECT
を使用してビューを実行できます。 声明。すべてを選択することも、特定の列を選択して、WHERE
で結果をさらに絞り込むこともできます。 条項などSELECT * FROM RockAlbums;
ビューを変更する
ALTER VIEW
を使用してビューを変更できます ステートメント。
使用する新しいビュー定義を提供するだけです。つまり、CREATE VIEW
を使用して新しいビューを作成するのとほとんど同じです。 ALTER VIEW
を使用して既存のステートメントを変更することを除いてステートメント ステートメント。
これが例です。
-
ビューを変更する
次のステートメントを実行します。これにより、ビューの選択に新しい列が追加されます(
ReleaseDate
列)。ALTER VIEW RockAlbums AS SELECT AlbumName, ArtistName, ReleaseDate FROM Albums INNER JOIN Artists ON Albums.ArtistId = Artists.ArtistId INNER JOIN Genres ON Albums.GenreId = Genres.GenreId WHERE Genres.Genre = 'Rock';
-
ビューを実行する
これで、
ReleaseDate
が追加されました。 ビューの列から、ビューに対するSQLクエリでそれを使用できます。たとえば、リリース日が特定の日付より後のすべてのアルバムを選択できます。
SELECT * FROM RockAlbums WHERE ReleaseDate > '1985-01-01';