Home実験室 − No.0068


        No.0068(SQL)
        3表の結合

■環境
  □OS: Windows XP Professional SP3
  □Oracle: Oracle Database 11g R2 (Standard)
  □OSログインユーザ: ORA_DBAグループ
  □Oracleユーザ: dicdic(実験用ユーザー) → 実験環境構築スクリプト

■実験
  0. 実験ユーザー「dicdic」でコネクトする。

SQL> conn dicdic/Oracle11g 接続されました。 SQL>



1.【3つのテーブルの結合】
  サンプルデータベースの「TT01_学生」表では、学科データは併記されていても、学部のデータはない。
  学部を知るためには、学科マスターから、更に学部マスターを辿らなければならず、
  3つのテーブルをJOINする必要がある。
  3つのテーブルをJOINする場合、『「表Aと表BをJOINしたもの」と「表C」をJOINする』と考え始めると
  分かり易い。
  以下、5つのSQLは結果はすべて同じになる。括弧の位置や、NATURAL、USINGの使い分けに注意しながら
  実行してみよう。

  @
  Select 学生番号, 氏名 ,学科コード ,学科名 ,学部名
  From TT01_学生 NATURAL JOIN TM03_学科 NATURAL JOIN TM02_学部;
  
  A
  Select 学生番号, 氏名 ,学科コード ,学科名 ,学部名
  From TT01_学生 NATURAL JOIN TM03_学科 JOIN TM02_学部 USING(学部コード);
  
  B
  Select 学生番号, 氏名 ,学科コード ,学科名 ,学部名
  From (TT01_学生 NATURAL JOIN TM03_学科) JOIN TM02_学部 USING(学部コード);
  
  C
  Select 学生番号, 氏名 ,学科コード ,学科名 ,学部名
  From TT01_学生 JOIN TM03_学科 USING(学科コード) JOIN TM02_学部 USING(学部コード);
  
  D
  Select 学生番号, 氏名 ,学科コード ,学科名 ,学部名
  From (TT01_学生 JOIN TM03_学科 USING(学科コード)) JOIN TM02_学部 USING(学部コード);


  2.上記のSQLはいずれも、同じ結果を返す。

SQL> Select 学生番号, 氏名 ,学科コード ,学科名 ,学部名 2 From TT01_学生 NATURAL JOIN TM03_学科 NATURAL JOIN TM02_学部; 学生番号 氏名 学科コード 学科名 学部名 --------- ---------------------------------------- ---------- ---------------------------------------- -------------------- 2011B0555 竹本 和人 2445 医療工学科 工学部 2011B0556 堀越 季衣 2789 建築学科 工学部 2011B0557 前原 泰介 2531 情報通信メディア工学科 工学部 2011B0558 稲葉 栄治 1578 地球科学科 理学部 2011B0559 Max Thorpe 1521 情報数理学科 理学部 2011B0560 白鳥 朋子 2789 建築学科 工学部 2011B0561 藤野 新一郎 2273 環境エネルギー化学科 工学部 2011B0562 鶴田 喜久雄 2273 環境エネルギー化学科 工学部 2011B0563 植木 恒男 2617 コンピュータ工学科 工学部 2011B0564 南田 舞衣 2187 応用化学科 工学部 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 2011B0545 山本 十三 2703 ナノサイエンス学科 工学部 2011B0546 寺尾 英夫 1521 情報数理学科 理学部 2011B0547 宮城 栄次郎 2101 電気システム工学科 工学部 2011B0548 片山 優華 2789 建築学科 工学部 2011B0549 藤野 盛夫 2273 環境エネルギー化学科 工学部 2011B0550 岩谷 昌信 1293 化学科 理学部 2011B0551 大淵 竹男 2789 建築学科 工学部 2011B0552 麻生 未来 2703 ナノサイエンス学科 工学部 2011B0553 唐沢 光昭 2531 情報通信メディア工学科 工学部 2011B0554 本間 勤 1521 情報数理学科 理学部 3429行が選択されました。 SQL>





    【PR】    Oracle実験室監修  『Oracleアーキテクチャ鳥瞰図』 PDF  (Oracleのアーキテクチャを一目で俯瞰できるイラスト)  


Home実験室 − No.0068

© 2011-2011   Amateur Laboratory of ORACLE
inserted by FC2 system