SQLのSELECT文を使用したデータの取得:間違いやすいポイントを追え! Bronze SQL基礎I(2)(2/2 ページ)
Oracleデータベースエンジニアとしての基礎力を証明するORACLE MASTER Bronzeの取得を目指すITエンジニアは多い。本連載で間違いやすいポイントを確認し、合格に近づこう!
算術式とNULL値
■例題2
次のデータと要件を確認してください。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
次のSQL文のうち、計算結果が戻ってこないものを1つ選択してください。
a.select last_name,salary*12 from employees;
b.select 50+50 from dual;
c.select last_name,salary*commission_pct from employees;
d.select last_name,salary*commission_pct from employees
where commission_pct is not null;
e.select last_name,salary*commission_pct from employees
where commission_pct =not null;
■例題の範囲をおさらい
・算術式
SQL文では、算術演算子を使用して、数値および日付データを計算することができます。
演算子 | 説明 |
---|---|
+ | 加算 |
- | 減算 |
* | 乗算 |
/ | 除算 |
カッコを使用し、算術式の優先順位を変更することも可能です。
・NULL値
NULLとは使用不可、未割り当て、不明、適用不能などを表す値であり、ゼロや空白のスペースとは異なります。 NULL値が含まれる算術式の結果は、すべてNULLとなります。
■正解
c
■解説
選択肢a:通常の算術式を使ったSQL文です。計算結果は下記のように戻ります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
選択肢b:DUAL表とはダミー表であり、算術式を使って計算結果を出すことが可能です。計算結果は下記のように戻ります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
選択肢c:commission_pct列にはNULL値が存在します。NULL値を計算するとNULLになるため、値は戻ってきません。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
選択肢d:WHERE句に「is not null」と設定することで、NULL値を除く値を計算した結果が戻ってきます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
選択肢e:WHERE句に「= not null」を設定することはできず、エラーとなります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
問題文では「計算結果が戻ってこない」SQL文を尋ねています。こちらはもともと正常なSQL文ではないため、正解とはなりません。
よって、計算結果が戻ってこないSQL文はcです。
■まとめ
次の内容をチェックしましょう。
- SQL文の基本構文
- 算術式の記載方法と優先順位
- NULL値の扱い方
今回の範囲も第1回「リレーショナルデータベースの基本とSQL*PLUS」と同じく、正確に覚えておけば、点数が取れる内容です。確実に点が取れるようにしておきましょう。
次回は、データの制限およびソートについて、間違いやすい点にポイントを絞って説明します。
Copyright © ITmedia, Inc. All Rights Reserved.