Home実験室 − No.0019


        No.0019(SQL)
        出現するパターンの一覧(DISTINCT)

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

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

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



  1. 学科はたくさんあるけれど、学部は二つだけしかないので学部コードの出現は15(理学部と)27(工学部)しかない。

SQL> SELECT 学部コード FROM TM03_学科; 学部コード ---------- 15 15 15 15 15 15 15 27 27 27 27 27 27 27 27 27 27 27 18行が選択されました。



  2. 【DISTINCTの基本】 上記のような状態を、「ようするにどの2つなのさ」というのを炙り出すのにDISTINCTを使う

SQL> SELECT DISTINCT 学部コード FROM TM03_学科; 学部コード ---------- 27 15 SQL>



  3. 【DISTINCTとSelect対象列】 DISTINCTできない列を同時に選択すると、DISTINCTが効かなくなってしまう。

SQL> SELECT DISTINCT 学部コード,学科名 FROM TM03_学科; 学部コード 学科名 ---------- ---------------------------------------- 15 化学科 27 建築学科 27 医療工学科 15 物理学科 15 天文学科 27 ナノサイエンス学科 15 情報数理学科 27 情報通信メディア工学科 15 生物学科 15 地球科学科 27 まちづくり建築デザイン学科 15 数学科 27 応用化学科 27 環境エネルギー化学科 27 機械工学科 27 コンピュータ工学科 27 電気システム工学科 27 宇宙工学科 18行が選択されました。 SQL>



  4. 【DISTINCTの位置】 下記のようではエラーになってしまう。DISTINCTは、選択する最初の列につけるらしい。

SQL> SELECT 学科名, DISTINCT 学部コード FROM TM03_学科; SELECT 学科名, DISTINCT 学部コード FROM TM03_学科 * 行1でエラーが発生しました。: ORA-00936: 式がありません。 SQL>





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


Home実験室 − No.0019

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