▼データ並び替え(ORDER BY)▼
▼昇順(ASC)
SELECT 表示したいフィールド FROM テーブル名 ORDER BY 順番を変える基準となるフィールド ASC;
例:「staff」テーブルの給与が少ない順に表示せよ
SELECT * FROM staff ORDER BY salary ASC;
以下のように表示
⇒ASC.png
▼降順(DESC)
SELECT 表示したいフィールド FROM テーブル名 ORDER BY 順番を変える基準となるフィールド DESC;
例:「staff」テーブルの給与が多い順に表示せよ
SELECT * FROM staff ORDER BY salary DESC;
以下のように表示
⇒DESC.png
※指定がない場合は昇順になる。
SELECT 表示したいフィールド FROM テーブル名 ORDER BY 順番を変える基準となるフィールド
▼複数指定(基準にしたいフィールドを「,」カンマでつなぐ)
例①:
SELECT * FROM staff ORDER BY section_id,salary;
以下のように表示
⇒複数指定①.png
※優先順位が、1:section_id、2:salaryの順に、昇順で表示する。
例②:
SELECT * FROM staff ORDER BY section_id ASC,salary DESC;
以下のように表示
⇒複数指定2.png
※優先順位が、1:section_id、2:salaryの順で、section_idは昇順、salaryは降順で表示。
▼データの表示制限(LIMIT)▼
・フィールドの開始位置から件数文のレコードを表示する。
SELECT フィールド名 FROM テーブル LIMIT 開始位置(スタート), 件数;
※開始位置は最初に入れたデータが基準となる、開始位置と件数の間は「,」(カンマ)でくくる
例:「staff」テーブルの1番目から3番目のレコードを表示せよ
SELECT * FROM staff LIMIT 1,3;
※①.0番目のレコードが存在しないため、以下でも同じ結果が得られる。
SELECT * FROM staff LIMIT 0,3;
※②.開始位置は省略できる。その場合、0番目からスタートすることになる。
そのため、以下でも同じ結果が得られる。
SELECT * FROM staff LIMIT 3;
▼グループ集計(GROUP BY)▼
※SELECTと一緒に使うが、通常通り表示してもあまり意味はない。
⇒COUNT()と一緒に使用する。
SELECT フィールド名(対象のフィールド名と同じもの), COUNT(フィールド名) FROM テーブル GROUP BY 対象のフィールド名;
※対象のフィールドで同じものがいくつあるかをcount(フィールド名)の箇所フィールドの種類ごとにレコードの件数を表示する。
注意》以下のように記述すると、対象のフィールドが重複削除された状態で表示されるだけ。
SELECT フィールド名(対象のフィールド名と同じもの) FROM テーブル GROUP BY 対象のフィールド名;
例:「staff」テーブルの部署番号ごとの人数を表示せよ(部署番号●番の人は■人)
SELECT section_id, COUNT(staff_id) AS cnt FROM staff GROUP BY section_id;
以下のように表示、
⇒GROUP_BY.bmp
▼GROUP化したときに条件(GROUP BY - HAVING 条件)※比較演算子を使用
SELECT フィールド名(対象のフィールド名と同じもの), COUNT(フィールド名) FROM テーブル GROUP BY 対象のフィールド名 HAVING 条件;
例:「staff」テーブルのスタッフが一人の部署だけを表示
SELECT
section_id,
COUNT(staff_id),
AVG(salary) ,
SUM(salary)
FROM staff
GROUP BY section_id
HAVING COUNT(staff_id) = 1;
①GROUP BY section_id と、HAVING COUNT(staff_id) = 1;で、従業員番号ごとの件数が1の場合という条件
②COUNT(staff_id),とGROUP BY section_idで、部署番号の種類ごとの件数を表示する。
****************************************
【エイリアス(AS)について】
- WHERE句はエイリアスが使えない
- HAVING句はエイリアスが使える
****************************************
最終更新:2012年01月19日 23:22