ORDER BYとDISTINCTとは?
ORDER BYとDISTINCTとは、ORDER BYは結果の行を指定した列の値で並べ替える句で、ASCが昇順、DESCが降順、既定は昇順。DISTINCTはSELECT句に付けて重複する行を1つにまとめる指定である。FEでは、両者を含むSELECT文の出力行と順序を正確に書けるかが問われる。
基本情報技術者試験の過去問では1回出題されています。
おーだーばいとでぃすてぃんくと
ORDER BYとDISTINCTの意味
ORDER BYは結果の行を指定した列の値で並べ替える句で、ASCが昇順、DESCが降順、既定は昇順。DISTINCTはSELECT句に付けて重複する行を1つにまとめる指定である。FEでは、両者を含むSELECT文の出力行と順序を正確に書けるかが問われる。
ORDER BYとDISTINCTの具体例
「SELECT DISTINCT 部署 FROM 社員 ORDER BY 部署」は部署の一覧を重複なく昇順で返す。「ORDER BY 部署, 給与 DESC」と複数列を並べると、まず部署の昇順、同じ部署の中で給与の降順という優先順位になる。
ORDER BYとDISTINCTは試験でどう引っ掛けられる?
ORDER BYを書かない限り行の順序は保証されない(主キー順に並ぶとは限らない)。DESCは直前の1列だけに効くので、複数列すべてを降順にしたいなら各列にDESCが要る。DISTINCTは列単位ではなく行全体の重複を見る。
ORDER BYとDISTINCTと関連する用語
ORDER BYとDISTINCTが出た過去問
"中間テスト"表からクラスごと、教科ごとの平均点を求め、クラス名、教科名の昇順に表示するSQL文中のaに入れる字句はどれか。 中間テスト(クラス名、教科名、学生…
正解:GROUP BY クラス名, 教科名 ORDER BY クラス名, 教科名
要点:GROUP BYは集計の単位、ORDER BYは並べ替えの順序
クラスと教科の組合せごとに平均を出すので、GROUP BYにはクラス名と教科名の両方を指定する。学生番号まで含めると学生1人ごとの集計になってしまい、求める粒度と合わない。並び順の指定はクラス名、教科名の昇順なので、ORDER BYにはこの2つを順に書く。
出典:令和1年度 春期 基本情報技術者試験 午前 問27(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。