Oracle CREATE VIEWでビュー(view)を作成するサンプル

環境
Oracle Database 11g Release 11.2.0.1.0 – 64bit Production
PL/SQL Release 11.2.0.1.0 – Production

構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
CREATE OR REPLACE VIEW ビュー名 AS
SELECT 列名 FROM テーブル1
inner join
テーブル2
on 条件
CREATE OR REPLACE VIEW ビュー名 AS SELECT 列名 FROM テーブル1 inner join テーブル2 on 条件
CREATE OR REPLACE VIEW ビュー名 AS
SELECT 列名 FROM テーブル1
inner join
テーブル2
on 条件

CREATE VIEW文を使用すると、ビューを定義できます。
ビューとは、1つ以上の表またはビューをベースとした論理表です。
操作方法
1.テーブルを確認します
USER_INFOテーブル

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
USERID USERNAME AGE
11 TOKYO 23
12 OOSAKA 24
13 FUKUOKA 25
14 YOKOHAMA 35
USERID USERNAME AGE 11 TOKYO 23 12 OOSAKA 24 13 FUKUOKA 25 14 YOKOHAMA 35
USERID	USERNAME	AGE
11	    TOKYO	    23
12	    OOSAKA	    24
13	    FUKUOKA	    25
14	    YOKOHAMA	35

departテーブル

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
DEPID DEPARTNAME
11 開発部
12 インフラ部
13 サポート部
14 教育部
DEPID DEPARTNAME 11 開発部 12 インフラ部 13 サポート部 14 教育部
DEPID	DEPARTNAME
11	    開発部
12	    インフラ部
13	   サポート部
14	   教育部

2.ビュー(view)を作成します
SQL構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
CREATE OR REPLACE VIEW USERVIEW AS
SELECT
UI.USERID,
UI.USERNAME,
DT.DEPARTNAME
FROM USER_INFO UI
INNER JOIN DEPART DT
ON UI.USERID = DT.DEPID
CREATE OR REPLACE VIEW USERVIEW AS SELECT UI.USERID, UI.USERNAME, DT.DEPARTNAME FROM USER_INFO UI INNER JOIN DEPART DT ON UI.USERID = DT.DEPID
CREATE OR REPLACE VIEW USERVIEW AS
  SELECT
    UI.USERID,
      UI.USERNAME,
      DT.DEPARTNAME
  FROM USER_INFO UI
   INNER JOIN DEPART DT
   ON UI.USERID = DT.DEPID

操作例
1.「USERVIEW」というビューを作成します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> CREATE OR REPLACE VIEW USERVIEW AS
2 SELECT
3 UI.USERID,
4 UI.USERNAME,
5 DT.DEPARTNAME
6 FROM USER_INFO UI
7 INNER JOIN DEPART DT
8 ON UI.USERID = DT.DEPID
9 /
ビューが作成されました。
SQL> CREATE OR REPLACE VIEW USERVIEW AS 2 SELECT 3 UI.USERID, 4 UI.USERNAME, 5 DT.DEPARTNAME 6 FROM USER_INFO UI 7 INNER JOIN DEPART DT 8 ON UI.USERID = DT.DEPID 9 / ビューが作成されました。
SQL> CREATE OR REPLACE VIEW USERVIEW AS
  2    SELECT
  3      UI.USERID,
  4     UI.USERNAME,
  5     DT.DEPARTNAME
  6    FROM USER_INFO UI
  7     INNER JOIN DEPART DT
  8     ON UI.USERID = DT.DEPID
  9  /

ビューが作成されました。

3.ビュー(view)から値を取得します
SQL構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT * FROM USERVIEW
SELECT * FROM USERVIEW
SELECT * FROM USERVIEW

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
USERID USERNAME DEPARTNAME
11     TOKYO   開発部
12     OOSAKA  インフラ部
13     FUKUOKA  サポート部
14    YOKOHAMA   教育部
USERID USERNAME DEPARTNAME 11     TOKYO   開発部 12     OOSAKA  インフラ部 13     FUKUOKA  サポート部 14    YOKOHAMA   教育部
USERID	USERNAME	  DEPARTNAME
11	    TOKYO	  開発部
12	    OOSAKA	 インフラ部
13	    FUKUOKA	 サポート部
14	    YOKOHAMA	  教育部

 

Oracle

Posted by arkgame