情報処理試験 データベース攻略法



データベース勉強部屋

SELECT文 基礎編2

SELECT文でもちょっとレベルアップの並び替えと集計について。 集計のSQLはよく試験でSQLの穴埋めとして出題されるので、しっかりルールを覚えておきましょう。

●並び替え
構文:SELECT field1, field2 FROM table1 ORDER BY field1
意味:テーブルtable1からfield1,field2のフィールド値を取得し、取得レコードをfield1の昇順で並べなさい

構文:SELECT field1, field2 FROM table1 ORDER BY field1 DESC
意味:テーブルtable1からfield1,field2のフィールド値を取得し、取得レコードをfield1の降順で並べなさい

構文:SELECTfield1, field2 FROM table1 ORDER BY field1 ASC, field2 DESC
意味:テーブルtable1からfield1,field2のフィールド値を取得し、取得レコードをfield1の昇順で並べ、field1が同じ値の場合はfield2の降順で並べなさい

最後の構文にあるASCは昇順という意味ですが、ORDER BYはデフォルトが昇順なので書いても書かなくてもよいです。 ちなみにACSはascent(上り)、DESCはdescent(下り)の略

●集計
構文:SELECT field1, Avg(field2), Sum(field3) FROM table1 GROUP BY field1
意味:テーブルtable1からfield1ごと集計し、field2の平均値とfield3の合計値を計算し、表示しなさい

構文:SELECT field1, Avg(field2), Sum(field3) FROM table1 GROUP BY field1
Having Avg(field2) >= 100
意味:テーブルtable1からfield1ごと集計し、field2の平均値とfield3の合計値を計算し、field2の平均値が100以上のものだけ表示しなさい

集計関数には以下のようなものがあります。
SUM 合計
MAX 最大値
MIN 最小値
AVG 平均値
COUNT データの個数

そして集計文で一番重要なのは以下のルールです。
ルール:SELECT句のあとに書けるのは、集計対象のフィールド(つまりGroup Byで指定したフィールド)および集計関数だけです。

目次へ戻る トップページへ戻る