SQLite-ビュー
ビューは、関連付けられた名前でデータベースに保存されるSQLiteステートメントにすぎません。これは実際には、事前定義されたSQLiteクエリの形式のテーブルの構成です。
ビューには、テーブルのすべての行、または1つ以上のテーブルから選択した行を含めることができます。ビューは、記述されたSQLiteクエリに依存してビューを作成する1つまたは複数のテーブルから作成できます。
仮想テーブルの一種であるビューにより、ユーザーは次のことができます。
- ユーザーまたはユーザーのクラスが自然または直感的に感じる方法でデータを構造化します。 
- データへのアクセスを制限して、ユーザーが完全なテーブルではなく限られたデータのみを表示できるようにします。 
- レポートの生成に使用できるさまざまなテーブルのデータを要約します。 
SQLiteビューは読み取り専用であるため、ビューに対してDELETE、INSERT、またはUPDATEステートメントを実行できない場合があります。ただし、ビューをDELETE、INSERT、またはUPDATEしようとすると起動するトリガーをビューに作成し、トリガーの本体で必要なことを実行できます。
ビューの作成
SQLiteビューは、 CREATE VIEWステートメント。SQLiteビューは、単一のテーブル、複数のテーブル、または別のビューから作成できます。
以下は、基本的なCREATEVIEW構文です。
CREATE [TEMP | TEMPORARY] VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE [condition];通常のSQLSELECTクエリで使用するのと同様の方法で、SELECTステートメントに複数のテーブルを含めることができます。オプションのTEMPまたはTEMPORARYキーワードが存在する場合、ビューは一時データベースに作成されます。
例
次のレコードを持つCOMPANYテーブルを検討してください-
ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0以下は、COMPANYテーブルからビューを作成する例です。このビューは、COMPANYテーブルのいくつかの列のみを持つために使用されます。
sqlite> CREATE VIEW COMPANY_VIEW AS
SELECT ID, NAME, AGE
FROM  COMPANY;実際のテーブルをクエリするのと同じ方法でCOMPANY_VIEWをクエリできるようになりました。以下は例です-
sqlite> SELECT * FROM COMPANY_VIEW;これにより、次の結果が得られます。
ID          NAME        AGE
----------  ----------  ----------
1           Paul        32
2           Allen       25
3           Teddy       23
4           Mark        25
5           David       27
6           Kim         22
7           James       24ビューの削除
ビューを削除するには、DROPVIEWステートメントを view_name。基本的なDROPVIEW構文は次のとおりです-
sqlite> DROP VIEW view_name;次のコマンドは、前のセクションで作成したCOMPANY_VIEWビューを削除します。
sqlite> DROP VIEW COMPANY_VIEW;