Oracleデータベースエンジニアとしての基礎力を証明するORACLE MASTER Bronzeの取得を目指すITエンジニアは多い。本連載で間違いやすいポイントを確認し、合格に近づこう!
前回「リレーショナルデータベースの基本とSQL*PLUS」では、リレーショナルデータベースの基礎用語と基本的な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です。
Copyright © ITmedia, Inc. All Rights Reserved.