ASC と DESC の解説と、その覚え方 ORDER BY

まず前提知識として、以下のことを理解してください。
 
・ORDER BYで順序を指定しないとASCになる。
つまり、順序の標準的な方向(デフォルト)はASC(昇順)である。


ASC ↓
ascending (アセンディング)
形容詞 上昇する,上がる、昇順の略。
アスクと発音する事が多い。
順位、会員番号、氏名など、普通のデータに使われる事が多い。

 

DESC ↑
descending(ディセンディング)
形容詞 下向の、減少する、降順の略。
デスクと発音することが多い。
売上総額、お金の額、などにつかわます。大きいものが重要である分野に使われます。
(売上は多いほうが優れていますよね。)

 

一般的に、ASCによるソートが使われることのほうが多いです。デフォルトになっているのも頷けますね。

 

覚え方

ASCとDESCはしばらく触っていないと忘れてしまいがちです。

 

昇順という言葉は上に上がっていくというイメージがあるのですが、実際のレコードは下向きに進みます。
これが混乱の元なわけなのです。

 

登る、下がる、上、下というイメージは完全に捨てて、「進んでいく向き」と考えたほうが分かりやすいかもしれません。

 

↓ ASC
1
2
3

 

↑ DESC
3
2
1

 

こんな感じです。

 

私の覚え方はこんな感じです。文字に起こすと長いのですが、頭の中で絵や図を描いたりはしないので、実際に思い出すのは一瞬です。

 

・まず、ソートのデフォルトは昇順だと頭に入れてください。
1,2,3…です。普通の順序で進むと考えてください。矢印は↓です。
レコードは下に下に進んでいきますよね。テーブルにとって、自然な向きは↓なのです。なので、デフォルトの方向にも↓(ACS昇順)が指定されているのですね。

 

・これも思い出せない場合は、ASCで文字列をソートすると、A,B,C,となります。
このASCがABCを意味していると覚えるのが一つの方法です。

 

・つぎに、DESCのDEに注目してください。Deは英語の接頭語というやつで、ネガティブな意味をもちます。否定的な意味だったり、離れるという意味があったりします。(ちなみにDescendingのDeはDown、「下がる(Down)」という意味を持ちます。)
Deは反転を意味するのだから、矢印の向きは↑である。と考えます。

 

・DESCは、プログラマーなら、Decrease デクリース のDeだとおぼえてもいいかもしれません。(ちなみにDecreaseのDeはDescendingのDeと同じでDownを意味します。)

 

・ASCは標準的。DESCはDEから反発するネガティブなイメージを持ってください。

 

・昇順という言葉も、昇からポジティブなイメージ、降順の降からネガティブなイメージを連想してください。

 

memo
Descendingは形容詞、Descentが名詞、Descendが降りるという意味の動詞。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です