【TRY! ORACLE MASTER】11g SQL基礎I 編
(第1回 Select文基礎、データの制限とソート)
みなさん、こんにちは。【TRY! ORACLE MASTER】と題して、今回から隔週で、オラクルマスター模擬試験と解説を連載していきます。今回から初めの6回はSQL試験の11のトピックから各回2トピックずつ紹介していきます。その後はBronzeDBAに突入予定です。紙面スペース(?)の都合上、各章1問ずつの紹介ですが、学習を進めるきっかけになればと思い連載していきます。では、さっそく理解度の確認がてら、挑戦してみましょう。
*問題文のボックスの後に解説を掲載しています。スクロールしすぎて回答をみてしまうとシラケてしまいますので、ご注意ください! ^^
まずは、試験トピック#1 「SQL SELECT 文を使用したデータの検索」 からの例題です。
|
問題(1) 会社の従業員情報を格納している emp 表には従業員番号を格納するempno 列と、給与額を格納するsalary 列、歩合率を格納する commission 列があります。salary が 2000でcommission がNULL の社員(従業員番号 100)のデータを取り出す以下のSELECT文の実行結果を選択肢から1つ選んでください。 SELECT 12*salary*commission FROM emp WHERE empno = 100;
|
|
回答と解説: 正解は、3.です。 算術式で参照される列の値がNULLの場合、その計算結果はNULLになります。この問題では、算術式中のCOMMISSION列がNULL のため、結果も NULL になります。NULLは未定(値がない)を意味するため、その値をもとに計算した結果も未定(→NULL)になるととらえると理解しやすいです。 |
出だし1問目はどうでしたか?NULL値は最初とっつきにくい概念ですが、重要トピックなので、不正解だった方は、ぜひ確認してください。次は、試験トピック#2 「データの制限とソート」 からの出題です。
|
問題(2) emp 表の検索結果を、salary (給与)の多い順に表示しようと思います。次のSELECT文の ( ) に該当するーワードを選択肢から1つ選んでください。 SELECT salary FROM emp ORDER BY sal ( );
|
|
回答と解説: 正解は、2.です。 検索結果を降順でソートして(値の大きいものから)表示する場合は、ORDER BY 句にDESC キーワードを指定します。ORDER BY 句に、ASCキーワードを指定するか、何も指定しない場合は、昇順で表示されます。なお日付データの列を使用して降順を指定した場合には、日付が新しい(=大きい)ものから順に表示されます。 |
いかがでしたでしょうか。不正解だったかたは各トピックを見直してください。次回は「単一行関数」 と 「変換関数および条件式の使用」を確認します。お楽しみに!
<< >>次週のTRY!
