検索
連載

SQLでのデータの制限とソート間違いやすいポイントを追え! Bronze SQL基礎I(3)(1/2 ページ)

Oracleデータベースエンジニアとしての基礎力を証明するORACLE MASTER Bronzeの取得を目指すITエンジニアは多い。本連載で間違いやすいポイントを確認し、合格に近づこう!

Share
Tweet
LINE
Hatena

 前回「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.

       | 次のページへ
ページトップに戻る