SQLプログラミング基礎


ホーム サイトマップ
トップページ >選択編

このページは,Access2000をベースに記述しています.
SQLは,データベース(SQLServer,Oracleなど)によって異なる場合がありますので注意してください.

◆すべてのデータを抽出する

選択した列のすべてのデータを抽出します.

 [書式]
SELECT <列名> FROM <表名>

 [例-名簿表から,氏名列を抽出する]
SELECT 氏名 FROM 名簿

◆ある条件と一致するデータを抽出する

選択した列から,抽出条件に該当するデータのみ抽出します.

 [書式]
WHERE <抽出条件>

 [例-名簿表から,年齢が25のデータを抽出する]
SELECT * FROM 名簿 WHERE 年齢 = 25

◆データを並べ替える

ORDER BY句を使うと,データを昇順もしくは降順に並べ替えることができます.

昇順

 [書式]
ORDER BY <列名> ASC
  列名は,並べ替えの優先順位が高いものから先に記述します.
  ASCは省略可能です.

[例-名簿表を年齢の昇順に並べ替える]
SELECT * FROM 名簿 ORDER BY 年齢 ASC
もしくは
SELECT * FROM 名簿 ORDER BY 年齢

降順

 [書式]
ORDER BY <列名> DESC
  列名は,並べ替えの優先順位が高いものから先に記述します.

[例-名簿表を年齢の降順に並べ替える]
SELECT * FROM 名簿 ORDER BY 年齢 DESC

昇順と降順の組み合わせ

[例-名簿表を年齢の昇順,氏名の降順に並べ替える]
SELECT * FROM 名簿 ORDER BY 年齢 ASC,氏名 DESC
もしくは
SELECT * FROM 名簿 ORDER BY 年齢,氏名 DESC

◆データをグループ化する

 GROUP BY句を使うと,GROUP BY句で指定した列の値が同一のものをひとつにまとめることができます.
 [書式]
GROUP BY <列名>

 [例-名簿表から,年齢別の人数を求める]
SELECT 年齢,COUNT(氏名) FROM 名簿 GROUP BY 年齢

 [注意]
  1. SELECT句では,通常の列と集計関数を指定していることに注意する.
      (通常の列と集計関数を単純に組み合わせて使うことは出来ない.)
  2. グループの中で値が一意に定まらない列をSELECT句に指定することはできない.

◆グループ化されたデータに検索条件を指定する

 [書式]
HAVING <列名>

 [例-名簿表から,平均年齢が25歳以上の区分(KUBUN)を抽出する]
SELECT KUBUN,AVG(年齢) FROM 名簿 GROUP BY KUBUN HAVING AVG(年齢) >= 25 

◆列に別名をつける

[書式]
<列名> AS 別名

[例-名簿表の姓,名および日付列を別名(列1,列2,列3)に変更して表示する]
SELECT 姓,名,03/01/161 AS 列1,03/01/162 AS 列2,03/01/163 AS 列3
FROM 名簿

◆列を連結する

[書式]
<列名> & <列名>

[例-名簿表の姓列と名列を連結し,氏名として表示する]
SELECT 姓 & 名 AS 氏名
FROM 名簿


SQLとは?へ     結合編へ

更新日:2006/8/1
Copyright (C)2003-2006 Orakumiko All rights reserved.

[PR]湘南美容外科で働きませんか?:全国19院。医師、看護師ほか募集中