SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SQL 基礎実地編 (その五) 問い合わせ、抽出、ソート(並べ換え)

■抽出問い合わせ(抽出条件、条件抽出)

  ・単純な抽出条件は次のように指定する。
    この例では、キーが「a001」のものだけが問い合わされる。

  select
    キー,
    データ1,
    データ2,
    データ3
  from sak.テストm
  where キー = 'a001'
  order by キー
  ;

  ・この例では、キーが「a001」以外のものだけが問い合わされる。

  select
    キー,
    データ1,
    データ2,
    データ3
  from sak.テストm
  where キー <> 'a001'
  order by キー
  ;

  ・この例では、データ3が NULL のものだけが問い合わされる。
    (空列検索、NULL 列検索、NULL 検索、NULL 抽出)

  select
    キー,
    データ1,
    データ2,
    データ3
  from sak.テストm
  where データ3 is null
  order by キー
  ;

  ・この例では、データ3が NULL でないものだけが問い合わされる。
    (NULL 以外)

  select
    キー,
    データ1,
    データ2,
    データ3
  from sak.テストm
  where not データ3 is null
  order by キー
  ;

  ・範囲抽出条件は次のように指定する。
    この例では、キーが「a000」〜「a999」の範囲が問い合わされる。

  select
    キー,
    データ1,
    データ2,
    データ3
  from sak.テストm
  where キー >= 'a000' and キー <= 'a999'
  order by キー
  ;

  ・SQL 関数を用いての抽出条件は次のように指定する。
    この例では、キーが「a」で始まるものが問い合わされる。

  select
    キー,
    データ1,
    データ2,
    データ3
  from sak.テストm
  where substr(キー, 1, 1) = 'a'
  order by キー
  ;

  ・substr() を使うより、マッチパターンの like を使う方が便利である。
    この例では、キーが「a」で始まるものが問い合わされる。

  select
    キー,
    データ1,
    データ2,
    データ3
  from sak.テストm
  where キー like 'a%'
  order by キー
  ;

  ・like では、ワイルドカードの「%」と一文字マッチ用の「_」が使える。
    この例では、キーが先頭はなんでもよいが、それ以降が「001」のものが問
    い合わされる。

  select
    キー,
    データ1,
    データ2,
    データ3
  from sak.テストm
  where キー like '_001'
  order by キー
  ;

  ・between では、値の範囲を指定できる。
    この例では、データ3が 10 〜 100 のものが問い合わされる。

  select
    キー,
    データ1,
    データ2,
    データ3
  from sak.テストm
  where データ3 between 10 and 100
  order by キー
  ;

  ・and では、条件を共に満たす抽出がてきる。
    この例では、データ1 と データ2 が 0 より上のものだけが問い合わされる。

  select
    キー,
    データ1,
    データ2,
    データ3
  from sak.テストm
  where データ1 > 0 and データ2 > 0
  order by キー
  ;

  ・or では、各条件を満たす抽出がてきる。
    この例では、データ1 か データ2 のどちらが 0 より上のものが問い合わさ
    れる。

  select
    キー,
    データ1,
    データ2,
    データ3
  from sak.テストm
  where データ1 > 0 or データ2 > 0
  order by キー
  ;

  ・and と or の組み合わせは、優先順位を () で必ず指定するようにする。
    この例では、データ1 か データ2 のどちらが 0 より上のもので、キーの先
    頭が「a」で始まるものだけが問い合わされる。

  select
    キー,
    データ1,
    データ2,
    データ3
  from sak.テストm
  where (データ1 > 0 or データ2 > 0) and キー like 'a%'
  order by キー
  ;

■ソート(並べ換え、並べ替え)

  ・order by 句でソート順が指定できる。
    この例では、キーの昇順に問い合わされる。

  select
    キー,
    データ1,
    データ2,
    データ3
  from sak.テストm
  order by キー
  ;

  ・desc を指定すると降順になる。
    この例では、キーの降順に問い合わされる。
    Oracle では、desc で降順ですが、SQL-Sever は dasc だった気がします。

  select
    キー,
    データ1,
    データ2,
    データ3
  from sak.テストm
  order by キー desc
  ;

  ・ソートオーダは複数項目指定できる。
    この例では、データ1 の大きい順でキーの昇順に問い合わされる。

  select
    キー,
    データ1,
    データ2,
    データ3
  from sak.テストm
  order by データ1 desc, キー
  ;

■SQL 基礎実地編資料
■SQL 基礎編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料
■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2017 Y.SAK