SQLのSELECT・WHERE・ORDER BYの試験問題への適用

SQL結果予測では、まずWHEREで残る行を確定し、次にSELECT列を作り、最後にORDER BYで並べるとミスを減らせる。

この単元で学ぶこと

  • 行抽出先行の意味と役割を説明できる
  • 列投影の意味と役割を説明できる
  • ソートキーの意味と役割を説明できる
  • 小さな表に対するSQL結果を手順通り予測できる

本文解説

問題表を手で小さく写し、条件外行を消す。その後、必要列だけ残し、ソートキーで順序を決める。

行抽出先行 WHERE条件を満たす行を先に候補として整理する。 結果予測を簡単にする。

列投影 残った行からSELECT対象列だけを見る。 不要列を無視できる。

ソートキー ORDER BYに指定された値で最終順を決める。 複数キーは左から優先。

同順位 先頭ソートキーが同値なら次のキーで順序を決める。 第2キーがなければ相対順は保証されない。

結果件数 ORDER BYは行数を増減させない。 WHEREやDISTINCT等が件数へ影響する。

WHERE→SELECT→ORDER BYの順で紙上処理する。

A90,B75,C90に対しscore>=80でA,Cを残し、score DESC,name ASCならA,Cの順。

図解

SQL結果予測の三段階
WHEREで行を絞り、SELECTで列を作り、ORDER BYで最終順序を決める。

重要ポイント

  • 行抽出先行: WHERE条件を満たす行を先に候補として整理する。
  • 列投影: 残った行からSELECT対象列だけを見る。
  • ソートキー: ORDER BYに指定された値で最終順を決める。
  • 同順位: 先頭ソートキーが同値なら次のキーで順序を決める。
  • 結果予測は行を絞ってから列と順序を見る。

間違えやすい点

  • ORDER BYで行が消えると考えない。
  • 同点時の第2キーを忘れない。
  • WHERE条件をSELECT後の見た目だけで判定しない。

用語解説

行抽出先行
WHERE条件を満たす行を先に候補として整理する。
列投影
残った行からSELECT対象列だけを見る。
ソートキー
ORDER BYに指定された値で最終順を決める。
同順位
先頭ソートキーが同値なら次のキーで順序を決める。
結果件数
ORDER BYは行数を増減させない。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。