Home実験室 − No.0017


        No.0017(SQL)
        Select文の基本

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

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

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



  1. 【全列をリスト一覧する】 列名を列挙する代わりに「*」を使うと、全列表示される。ワイルドカードみたいだな。

SQL> select * from TM04_在籍区分; 在 在籍区分 -- -------------------- 2 在学(修士課程) 3 在学(博士課程) 4 在学(通信教育) 5 在学(2部) 6 休学(本人都合) 7 休学(留学等) 8 退学(本人都合) 9 退学(懲戒) 10 卒業 11 移籍 12 行方不明 13 死亡 14 その他 71 在学(学士課程1年生) 72 在学(学士課程2年生) 73 在学(学士課程3年生) 74 在学(学士課程4年生) 17行が選択されました。 SQL>



  2. 【ほしい列だけをリスト一覧する】 Selectとfromの間で列名をカンマで区切って列挙すると列挙した列が表示される。

SQL> select 在籍区分コード,在籍区分 from TM04_在籍区分; 在 在籍区分 -- -------------------- 2 在学(修士課程) 3 在学(博士課程) 4 在学(通信教育) 5 在学(2部) 6 休学(本人都合) 7 休学(留学等) 8 退学(本人都合) 9 退学(懲戒) 10 卒業 11 移籍 12 行方不明 13 死亡 14 その他 71 在学(学士課程1年生) 72 在学(学士課程2年生) 73 在学(学士課程3年生) 74 在学(学士課程4年生) 17行が選択されました。 SQL>



  3. 【表示される列ヘッダの文字列を自分で決める】 表示される列のヘッダを、好きな文字列にできる。でもデータの長さに揃っちゃうんだな。見づらいなこれ。

SQL> select 在籍区分コード "コード",在籍区分 "ほげ" from TM04_在籍区分; コ ほげ -- -------------------- 2 在学(修士課程) 3 在学(博士課程) 4 在学(通信教育) 5 在学(2部) 6 休学(本人都合) 7 休学(留学等) 8 退学(本人都合) 9 退学(懲戒) 10 卒業 11 移籍 12 行方不明 13 死亡 14 その他 71 在学(学士課程1年生) 72 在学(学士課程2年生) 73 在学(学士課程3年生) 74 在学(学士課程4年生) 17行が選択されました。 SQL>



  4. ヘッダの指定の際はダブルコーテーションで括る必要はないらしい。どっちでもいいなら括らない方を選びたい。

SQL> select 在籍区分 ほげ from TM04_在籍区分; ほげ -------------------- 在学(修士課程) 在学(博士課程) 在学(通信教育) 在学(2部) 休学(本人都合) 休学(留学等) 退学(本人都合) 退学(懲戒) 卒業 移籍 行方不明 死亡 その他 在学(学士課程1年生) 在学(学士課程2年生) 在学(学士課程3年生) 在学(学士課程4年生) 17行が選択されました。 SQL>



  5. ヘッダの指定の際に「AS 〜」とすることもできる。めんどくさい気もするけど、SQL文全体として見易いのかな?

SQL> select 在籍区分 AS ほげ from TM04_在籍区分; ほげ -------------------- 在学(修士課程) 在学(博士課程) 在学(通信教育) 在学(2部) 休学(本人都合) 休学(留学等) 退学(本人都合) 退学(懲戒) 卒業 移籍 行方不明 死亡 その他 在学(学士課程1年生) 在学(学士課程2年生) 在学(学士課程3年生) 在学(学士課程4年生) 17行が選択されました。 SQL>



  6. 当然、ダブルコーテーションで括ってもよし。

SQL> select 在籍区分 AS "ほげ" from TM04_在籍区分; ほげ -------------------- 在学(修士課程) 在学(博士課程) 在学(通信教育) 在学(2部) 休学(本人都合) 休学(留学等) 退学(本人都合) 退学(懲戒) 卒業 移籍 行方不明 死亡 その他 在学(学士課程1年生) 在学(学士課程2年生) 在学(学士課程3年生) 在学(学士課程4年生) 17行が選択されました。 SQL>



  7. なに!? シングルコーテーションはダメなのか。

SQL> select 在籍区分 'ほげ' from TM04_在籍区分; select 在籍区分 'ほげ' from TM04_在籍区分 * 行1でエラーが発生しました。: ORA-00923: FROMキーワードが指定の位置にありません。 SQL>



  8. 「AS〜」の場合もシングルコーテーションはダメなのか。

SQL> select 在籍区分 AS 'ほげ' from TM04_在籍区分; select 在籍区分 AS 'ほげ' from TM04_在籍区分 * 行1でエラーが発生しました。: ORA-00923: FROMキーワードが指定の位置にありません。 SQL>





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


Home実験室 − No.0017

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