SQL Server のビューを作成する

SQL Server のビューを作成する

SQL Server のビューには、システムビュー、ユーザー定義、インデックスビュー、パティションビューがあります。

SQL Server Management Studio の UI からも作成可能ですが、今回は、スクリプトでユーザー定義ビューを作成してみましょう。

こちら のスクリプトを実行して、テーブルを再生成しておいてください。 全てのテーブルは使いませんが、これらのテーブルが存在している前提で進めます。

ユーザー定義ビュー

ユーザー定義ビューを作成するには CREATE VIEW を使います。 シンプルなユーザー定義のビューを作成する構文は次の通りです。

CREATE VIEW [ ビュー名 ]
AS
	[ SELECT ステートメント ]

SELECT ステートメントに含めるカラムの数は、最大 1024 個です。


それでは、ユーザー定義のビューを作ってみましょう。

次のような Student テーブル、Test テーブル、 TestResult テーブルがあります。

SQL Server のビューを作成する 1

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;

SQL Server のビューを作成する 2

上記のスクリプトを実行すると、ユーザー定義ビューの viewTestResult ができました。

SQL Server のビューを作成する 3


それでは、作ったユーザー定義のビューを使ってみましょう。

例えば、viewTestResult ビューから、英語のテスト名 (TestNameEn) が English で始まるテストのレコードを取得するクエリーは以下の通りです。

SELECT  *
FROM    viewTestResult
WHERE   TestNameEn LIKE 'English%';

[ 実行結果 ]
SQL Server のビューを作成する 4

期待通りのレコードが取得できましたね。

このように、ビューを仮想のテーブルとして使うことができます。


次は、SQL Server のユーザー定義のビューを変更・削除してみましょう。

© 2010-2024 SQL Server 入門