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の順。
図解
重要ポイント
- 行抽出先行: WHERE条件を満たす行を先に候補として整理する。
- 列投影: 残った行からSELECT対象列だけを見る。
- ソートキー: ORDER BYに指定された値で最終順を決める。
- 同順位: 先頭ソートキーが同値なら次のキーで順序を決める。
- 結果予測は行を絞ってから列と順序を見る。
間違えやすい点
- ORDER BYで行が消えると考えない。
- 同点時の第2キーを忘れない。
- WHERE条件をSELECT後の見た目だけで判定しない。
用語解説
- 行抽出先行
- WHERE条件を満たす行を先に候補として整理する。
- 列投影
- 残った行からSELECT対象列だけを見る。
- ソートキー
- ORDER BYに指定された値で最終順を決める。
- 同順位
- 先頭ソートキーが同値なら次のキーで順序を決める。
- 結果件数
- ORDER BYは行数を増減させない。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。