連載
» 2008年04月11日 00時00分 公開

SQLのSELECT文を使用したデータの取得間違いやすいポイントを追え! Bronze SQL基礎I(2)(1/2 ページ)

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

[ゴールデンフォレスト株式会社,@IT]

 前回「リレーショナルデータベースの基本とSQL*PLUS」では、リレーショナルデータベースの基礎用語と基本的なSQLについて学習しました。

 今回は、以下の項目について確認します。

  • SQL文の基本構文
  • 算術式の使い方とNULL値

SQL文の基本構文

例題1

LAST_NAMEとSALARYを検索しているSQL文を2つ選択してください。

a.select last_name,salary from employees;

b.select last_name salary from employees;

c.select LAST_NAME,SALARY, from employees;

d.select LAST_NAME,SALARY from employees;

例題の範囲をおさらい

 SQL文の基本構文は、下記のとおりです。

SELECT *|{[DISTINCT] 列名|式 [列別名],...}
FROM   表名;

 SELECT句には表示する列を指定し、FROM句にはこれらの列が含まれる表を指定します。

正解

a、d

解説

選択肢a:LAST_NAMEとSALARYを検索するSQL文です。列名が小文字になっていますが、SQL文では、大文字と小文字の区別はされませんので問題ありません。

SQL> select last_name,salary from employees;
LAST_NAME                SALARY
-------------------- ----------
Whalen                     4400
Hartstein                 13000
Fay                        6000

選択肢b:複数列を選択する場合、列と列の間に「,」(カンマ)が必要です。カンマではなく空白を使用した場合、列別名と判断されます。

SQL> select last_name salary from employees;
SALARY  ← この部分に列名が表示される
----------------------------------------
Abel
Davies
De Haan

 このように、検索結果はLAST_NAME列のデータですが、列名が「SALARY」になります。エラーにはなりませんが、結果は異なりますので注意してください。

選択肢c:複数列を選択する場合、列と列の間は「,」で区切りますが、最後の列の後ろに「,」を付けると以下のようにエラーになります。

SQL> select LAST_NAME,SALARY, from employees;
select LAST_NAME,SALARY, from employees
                         *
行1でエラーが発生しました。:
ORA-00936: 式がありません。

 よって、該当するSQL文はa、dです。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。