SQL Server のビューを作成する
SQL Server のビューを作成する
SQL Server のビューには、システムビュー、ユーザー定義、インデックスビュー、パティションビューがあります。
SQL Server Management Studio の UI からも作成可能ですが、今回は、スクリプトでユーザー定義ビューを作成してみましょう。
こちら のスクリプトを実行して、テーブルを再生成しておいてください。 全てのテーブルは使いませんが、これらのテーブルが存在している前提で進めます。
ユーザー定義ビュー
ユーザー定義ビューを作成するには CREATE VIEW を使います。 シンプルなユーザー定義のビューを作成する構文は次の通りです。
CREATE VIEW [ ビュー名 ] AS [ SELECT ステートメント ]
SELECT ステートメントに含めるカラムの数は、最大 1024 個です。
それでは、ユーザー定義のビューを作ってみましょう。
次のような Student テーブル、Test テーブル、 TestResult テーブルがあります。
TestResult テーブルに、 Test テーブルの TestNameEn, TestNameJp と、Student テーブルの FirstName, LastName を含んだ viewTestResult という名前のビューを作ってみましょう。
CREATE VIEW viewTestResult AS SELECT TR.TestResultID, T.TestID, T.TestNameEn, T.TestNameJp, S.StudentID, S.FirstName, S.LastName, TR.Score FROM TestResult AS TR LEFT JOIN Test AS T ON TR.TestID = T.TestID LEFT JOIN Student AS S ON TR.StudentID = S.StudentID;
上記のスクリプトを実行すると、ユーザー定義ビューの viewTestResult ができました。
それでは、作ったユーザー定義のビューを使ってみましょう。
例えば、viewTestResult ビューから、英語のテスト名 (TestNameEn) が English で始まるテストのレコードを取得するクエリーは以下の通りです。
SELECT * FROM viewTestResult WHERE TestNameEn LIKE 'English%';
[ 実行結果 ]
期待通りのレコードが取得できましたね。
このように、ビューを仮想のテーブルとして使うことができます。
次は、SQL Server のユーザー定義のビューを変更・削除してみましょう。