今回の記事ではSQLでデータを昇順・降順に並べ替える方法を学習します。
これで例えば金額が高い順に並べ替えたり、社員番号が若い順にデータを検索できるようになったりします。
目次
SQL文入門:パン屋さんのmenuテーブルで考えてみよう
テーブル名:menu
id | name | price | category |
---|---|---|---|
1 | メロンパン | 250 | 菓子パン |
2 | カレーパン | 300 | 総菜パン |
3 | カツサンド | 400 | 総菜パン |
4 | デニッシュ | 350 | 菓子パン |
5 | バターロール | 200 | 総菜パン |
6 | 食パンプレミアム | 500 | 総菜パン |
7 | 期間限定マロンクリームコロネ | 450 | 菓子パン |
今回も簡単な題材として、パン屋さんのmenuテーブルを例にSQL文を学習してきます。
【ORDER BY】検索するデータを昇順・降順に並び替える
SQLで検索するデータを昇順・降順に並び替える場合はORDER BYを使います。
SQL文は以下のように記載します。
select カラム名
from テーブル名
order by カラム名 並べ方(ASC / DESC)
;
↑のSQLの並べ方ですが、昇順の場合はASCを使い、降順の場合はDESCを使います。
【ASC】昇順に並び替える
それではパン屋さんのmenuテーブルを価格(price)の低い順(昇順)に並べ替えてみましょう。
SQL文は以下のように記載します。
・価格(price)の低い順(昇順)に並べ替える
select *
from menu
order by price asc
;
↓↓↓↓実行すると
・実行結果
id | name | price | category |
---|---|---|---|
5 | バターロール | 200 | 総菜パン |
1 | メロンパン | 250 | 菓子パン |
2 | カレーパン | 300 | 総菜パン |
4 | デニッシュ | 350 | 菓子パン |
3 | カツサンド | 400 | 総菜パン |
7 | 期間限定マロンクリームコロネ | 450 | 菓子パン |
6 | 食パンプレミアム | 500 | 総菜パン |
価格の低い順に並べ替えることができました。
1, 2, 3, 4, … 100
昇順はこのように徐々に数値が上がっていくことを指します。
ちなみに昇順を表すASCですがAscendingの略です。
昇順はこのように徐々に数値が上がっていくことを指します。
ちなみに昇順を表すASCですがAscendingの略です。
【DESC】降順に並び替える
それでは次にパン屋さんのmenuテーブルを価格(price)の高い順(降順)に並べ替えてみましょう。
SQL文は以下のように記載します。
・価格(price)の高い順(降順)に並べ替える
select *
from menu
order by price desc
;
↓↓↓↓実行すると
・実行結果
id | name | price | category |
---|---|---|---|
6 | 食パンプレミアム | 500 | 総菜パン |
7 | 期間限定マロンクリームコロネ | 450 | 菓子パン |
3 | カツサンド | 400 | 総菜パン |
4 | デニッシュ | 350 | 菓子パン |
2 | カレーパン | 300 | 総菜パン |
1 | メロンパン | 250 | 菓子パン |
5 | バターロール | 200 | 総菜パン |
価格の高い順に並べ替えることができました。
100, 99, 98, 97, … 1
降順はこのように徐々に数値が下がっていくことを指します。
ちなみに降順を表すDESCですがDescendingの略です。
降順はこのように徐々に数値が下がっていくことを指します。
ちなみに降順を表すDESCですがDescendingの略です。
まとめ
今回の記事をまとめると
- 検索するデータを並び替えるときはORDER BY カラム名 ASC / DESCを使う
- ASCは昇順
- DESCは降順