アットウィキロゴ

Oracle Bronze10g SQL基礎I講座(Ⅱ)

第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