第2章 行制限と並べ替えについて
2.1 行制限と並べ替え
(表)行制限と並べ替え句一覧
| 句 |
説明 |
| DISTINCT |
重複を取り除く |
| GROUP BY |
指定列を元にグループ化する |
| HAVING |
GROUP BY句の検索対象を制限します |
| ORDER BY |
指定列の値により行を並び替える |
| WHERE |
検索する対象を制限 |
2.2 DISTINCT句
DISTINCT句は、指定列の値の重複を取り除く。
| 【構文】SELECT DISTINCT 列名[,列名...] FROM 表名; |
| 【説明Ⅰ】・指定列値の重複を取り除き、指定列値を昇順に並べ替える。 |
| 【説明Ⅱ】・DISTINCT句には、複数の列を指定することができる。 |
2.3 WHERE句
WHERE句の検索条件を満たす行を取り出します。
| 【構文】SELECT ... FROM 表名 WHERE 検索条件; |
| 【説明】・検索条件には、列名、条件を指定。 |
2.4 ORDER BY句
ORDER BY句は、指定の列または式により行を並び替える。
| 【構文】SELECT ... FROM 表名 ORDER BY {列名 ┃ 式} [ASC ┃ DESC]; |
| 【説明Ⅰ】・ORDER BY句には、複数の列名または式を指定可能。 |
| 【説明Ⅱ】・ASC(デフォルト),DESCを指定しない場合には昇順 |
| 【説明Ⅲ】・NULL値は、一番大きな値として扱われます。昇順では最後に、降順では、最初に表示される。 |
| 【説明Ⅳ】・ORDER BY句では、列名以外に、列別名、列番号、グループ関数を指定することができる。 |
2.5 GROUP BY句
GROUP BY句は、指定列でグループ化します。
| 【構文】SELECT ... FROM 表名 GROUP BY 列名 [,列名 ... ]; |
| 【説明Ⅰ】・GROUP BY句には、列別名、列番号、グループ関数を指定することは不可 |
| 【説明Ⅱ】・GROUP BY句で指定した列は、重複値が取り除かれ、昇順で並べ替える。 |
| 【説明Ⅲ】・GROUP BY句によりグループ化した行は、条件により制限するには、HAVING句を使用します。 |
2.6 HAVING句
HAVING句は、グループ化した結果を、制限。
| 【構文】SELECT ... FROM 表名 [GROUP BY 列名] HAVING 検索条件; |
| 【説明Ⅰ】・GROUP BY句で、グループ化した結果に対して、検索条件を満たすデータを取り出す。 |
| 【説明Ⅱ】・HAVING句を単独で使用可能。 |
2.7 句の順番と組み合わせ
【SELECT文記載時の規則】
| SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... ; |
・GROUP BY句とHAVING句の順番は、逆でも可能。
・ORDER BY句は、SELECT句の中の列以外を指定することが可能。
■GROUP BY句、ORDER BY句で使用可、使用不可のデータ型について
★使用可能なデータ型・・・DATE,TIMESTAMP,RAW,CHAR,VACHER2,NUMBER,INTERVAL YEAR TO MONTH,INTER DAY TO SECOND
★使用不可なデータ型・・・LONG,LONG RAW,LOB型(CLOB,BLOB等)
最終更新:2008年08月06日 10:38