プログラ生活

プログラム初学者のためのポイントを書いていこうと思います。たまに脇道それた記事もありますが、息抜きだとおもって気長にお付き合いください。

【SQL Server(連載)】ビューの作成 -22-

www.pon-x.jp

前回の続き

複雑なSQLを作成していた場合に、簡単に呼び出す方法のひとつにビューがあります。
今回は、ビューの登録方法を紹介したいと思います。

CREATE VIEW

例えば、以下のようなSQLがあったとします。

SELECT 
    PersonType,
    COUNT(PPP.BusinessEntityID) AS CNT
FROM Person.Person PP
    INNER JOIN Person.PersonPhone PPP
        ON PP.BusinessEntityID = PPP.BusinessEntityID
WHERE PPP.PhoneNumberTypeID = 1
GROUP BY PersonType

結果はこんな感じ

f:id:hanabusa-snow:20201207100839p:plain

例えば、この集計結果は定期的に値が変わるので頻繁に出力したいというときに、上記のSQLを保存しておいたら便利ですよね。
ざっくりいうとビューとはその目的が一つあります。

CREATE VIEW TEST_VIEW
AS
SELECT 
    PersonType,
    COUNT(PPP.BusinessEntityID) AS CNT
FROM Person.Person PP
    INNER JOIN Person.PersonPhone PPP
        ON PP.BusinessEntityID = PPP.BusinessEntityID
WHERE PPP.PhoneNumberTypeID = 1
GROUP BY PersonType

上記でビューが作成できました。

ビューの活用

さきほど、SQLを保存しておく目的があるといいましたが、使ってみてわかる利点としてテーブルとして再加工ができるという利点があります。

では早速活用してみよう。
まずは、通常に呼び出す。 FROM句に入れてあげればOKです。

SELECT * FROM TEST_VIEW

結果は以下の通り
f:id:hanabusa-snow:20201207101116p:plain

再加工も簡単です。
単純にビューをテーブルだとおもっていじれはいいのです!!
ためしに並び替えをしてみる。

SELECT * 
FROM TEST_VIEW  
ORDER BY CNT

結果はこんな感じ
f:id:hanabusa-snow:20201207101328p:plain







以上、今回はここまで。
次回も引き続きビューをやります。