とあるITエンジニアたちの備忘録

新米エンジニア5人がお送りする、ちょっとためになる話

SELECT文の使い方 ~ データのソート(並べ替え)~

みなさん、こんにちは。

どうも、さいばーきゃっとです。

 

今回は、SELECT文で使用できるデータのソートについて、紹介していきます。

 

唐突ですが、

みなさんは、以下の表から、英語の点数が80点以上の生徒を、点数が高い順に選択する場合、どのようなSELECT文を記述しますか。

 

f:id:cloudy0901:20160613233221p:plain

 

まず、英語の点数が80点以上の生徒を選択する場合、以下のようなSELECT文になりますよね。

f:id:cloudy0901:20160614230429p:plain

 

このSELECT文により、以下のようにデータが選択されました。

f:id:cloudy0901:20160614230723p:plain

 

しかしこれでは、「点数が高い順に選択」ではありません。

 

このように、高い順や低い順にデータを並べ替えたいときは、「ORDER BY句」を使用します。

 

ORDER BY句(並べ替え)

SELECT文では、ORDER BY句を使用することで、大きい順、小さい順などにデータを並べ替えることができます。

小さい数から大きい数の順番に並べ替えることを「昇順」といい、大きい数から小さい数の順番に並べ替えることを「降順」といいます。

 

ORDER BY句を使用した構文は、以下になります。

f:id:cloudy0901:20160613234829p:plain

原則、「ORDER BY句」はSELECT文の最後に、記述します。

 

用語解説

f:id:cloudy0901:20160613235244p:plain

 

いきなり基本的な構文を見ても、よくわからないと思いますので、実際にORDER BY句を使用してみましょう。

 

昇順に、並べ替えるとき

では、以下の表を点数の低い順に並べ替えてみましょう。

昇順に並べ替えるときは、「ASC」を使用します。

f:id:cloudy0901:20160613233221p:plain

 

上記の表を、点数の低い順に並べ替えるSELECT文は、以下のようになります。

f:id:cloudy0901:20160613235824p:plain

 

実行結果が、以下の表です。

f:id:cloudy0901:20160613235920p:plain

 

降順に並べ替えるとき

次に、以下の表を点数の高い順に、並べ替えてみましょう。

降順に並べ替えるときは、DESCを使用します。

f:id:cloudy0901:20160613233221p:plain

 

上記の表を、点数の高い順に並べ替えるSELECT文は、以下のようになります。

f:id:cloudy0901:20160614000059p:plain

 

実行結果が、以下の表です。

f:id:cloudy0901:20160614003130p:plain

 

WHRER句とORDER BY句

では、以下の表を英語の点数が80点以上の生徒を、点数が高い順に選択する場合は、どうすればいいでしょうか。

f:id:cloudy0901:20160613233221p:plain

 

難しく考える必要はありません。

SELECT文にWHERE句が含まれていても、ORDER BY句の記述は変わりません。

 

以下が、英語の点数が80点以上の生徒を、点数が高い順に選択するためのSELECT文です。

f:id:cloudy0901:20160614230442p:plain 

 

実行結果が、以下の表です。

f:id:cloudy0901:20160614230733p:plain

 

データを活用していると、ソート(並べ替える)を使用することが、非常に多いですので、SQLでのデータのソート方法は覚えておきましょう。

 

 

 

スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ)

スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ)