Oracle MASTERインチキ合格講座
Oracle MASTERの問題を解くための考え方です。対象はBRONZEのsql編です。
基本的な考え方
四択のうちから答えを一つ選べれば良いです。選ぶ経過はどうでもよいです。
(選ぶ経過の例)
- 正しい答えを一つを特定できればOKです。
- 誤った答えを三つを特定できればOKです。
- 誤った答えを二つを特定できた場合、サイコロを振れば50%OKです。
- 全く特定できない場合は、問題ごと捨てればOKです。他の問題でカバーしましょう。(捨てたとしても、選択肢は選びましょう)
なるべく自身を持って答えを特定するために、以下のことを理解しておきます。
列別名の付け方
列別名の付け方は以下の3通りです。
- select salary * 12 AS AnnualSarary
- select salary * 12 AnnualSarary
- select salary * 12 "AnnualSarary"
ダブルクォート("")を使用した場合のみ、列別名に空白を含めることができます。
- × select salary * 12 AS Annual Sarary
- × select salary * 12 Annual Sarary
- ○ select salary * 12 "Annual Sarary"
SQL文の句の並び
SQL文の句は、以下の順に並びます。
- SELECT 列名,… FROM テーブル名 WHERE 条件 GROUP BY 集計のキー HAVING 集計結果の条件 ORDER BY 並べ替えのキー
- INSERT INTO テーブル名 (列名,…) VALUES(値,…)
- UPDATE テーブル名 SET 列名 = 値,… WHERE 条件
- DELETE テーブル名 WHERE 条件
SQL(SELECT)文の評価
SELECT文は以下の順序で評価します。
(1)グループ関数がない場合:
|
(2)グループ関数があり、GROUP BY句がない場合:
|
(3)グループ関数があり、GROUP BY句もある場合:
|
SQL(UPDATE)文の実行
UPDATE文は以下の順序で評価します。
- WHERE句でレコードを絞り込みます。
- SET句の右辺の値を計算します。
- SET句の左辺の列に計算結果を代入します。
※実行して挙動を確かめるとよいでしょう。
グループ関数
|
|
|
副問い合わせ
- SQL文の内部にSELECT文を埋め込むことができます。埋め込まれるSELECT文を副問い合わせといいます。
- 副問い合わせは、SELECT句、FROM句、WHERE句、SET句、INSERT文に指定できます。
- SELECT句、SET句の副問い合わせは、単一の値(1列×1行)を返す必要があります。
- WHERE句で『=』と一緒に使用する副問い合わせは、単一の値(1列×1行)を返す必要があります。
- WHERE句で『IN』と一緒に使用する副問い合わせには、複数の値(1列×複数行)を指定できます。
- FROM句とINSERT文で使用する服問い合わせには、結果セット(複数列×複数行)を指定できます。
※実行して挙動を確かめるとよいでしょう。
SQLの分類
SQLは三つに区分されます。
(1) DML(Data Manipulation Language:データ操作言語) … データを操作します。
- SELECT文
- INSERT文
- UPDATE文
- DELETE文
(2) DDL(Data Definition Language:データ定義言語) … データの入れ物を定義します。
- CREATE文
- ALTER文
- DROP文
(3) DCL(Data Control Language:データ操作言語) … その他。
- GRANT文
- REVOKE文
- COMMIT文
- ROLLBACK文
なお、ここに書いてある内容をすべて覚えたとしても、試験の合格は保証できません。