SQLでのデータの制限とソート:間違いやすいポイントを追え! Bronze SQL基礎I(3)(1/2 ページ)
Oracleデータベースエンジニアとしての基礎力を証明するORACLE MASTER Bronzeの取得を目指すITエンジニアは多い。本連載で間違いやすいポイントを確認し、合格に近づこう!
前回「SQLのSELECT文を使用したデータの取得」では、SQLの基本構文と、SELECT文における算術式とNULL値の取り扱い方について学習しました。
今回は、以下の項目について確認します。
- 問い合わせによって取得される行の制限(WHERE句)
- 問い合わせによって取得される行のソート(ORDER BY句)
問い合わせによって取得される行の制限(WHERE句)
■例題1
次のデータと要件を確認してください。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
次の文を実行したとき、何行のデータが検索されますか。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
a.4行
b.6行
c.5行
d.3行
■例題の範囲をおさらい
参考:「SQL問い合わせによる行の制限とソート」
問い合わせによって取得される行を制限するには、WHERE句を使用します。WHERE句の中で比較条件として使用できる演算子の1つに、BETWEENがあります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
BETWEENを使用することによって、A以上B以下の値を選択することができます。
■正解
b
■解説
問題のSELECT文を実行すると、以下のような結果が戻ります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
BETWEEN演算子を「WHERE 列名 BETWEEN A and B;」のように使用した場合、A以上B以下の値を検索します。
この問題の場合は、SALARYの値が3500以上6000以下の行を検索します(下限の3500、上限の6000は検索結果に含まれます)。
よって、正解はbです。
■例題2
次のデータと要件を確認してください(例題1と同じものです)。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
次の文を実行した場合の結果で正しいものを1つ選択してください。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
a.エラーになる
b.6行の値が戻る
c.レコードは選択されない
d.3行の値が戻る
■例題の範囲をおさらい
参考:「SQL問い合わせによる行の制限とソート」
例題1で学んだように、WHERE句でBETWEENを使用することによって、A以上B以下の値を選択することができます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ただし、Aに値の下限、Bに値の上限を指定しない限り、レコードを選択することはできません。
■正解
c
■解説
問題の文を実行すると、以下のような結果が戻ります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
これは、
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
と選択範囲を指定する際、下限値、上限値の順に指定しなかったためです。
下記のように正しく指定すれば、SALARYの値が3500以上6000以下の行が検索され、結果として戻ります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
正解はcです。
Copyright © ITmedia, Inc. All Rights Reserved.