SQLドリル300 - Silver SQL対応 > 出題範囲と対策ガイド
ORACLE MASTER Silver SQL(試験番号1Z0-071)は、Oracle DatabaseのSQLを対象とした試験です。データを行と列からなる2次元の表の集合として扱い、表同士をポインタではなく共通の列の「値」で関連付ける——このリレーショナル・データベースの考え方を土台に、SELECT文の基本から関数・結合・副問合せ、DML・DDL、権限管理までが出題範囲に含まれます。この記事では、出題範囲の15単元それぞれの内容と、学習者がつまずきやすい頻出テーマを整理します。
| 試験名 | ORACLE MASTER Silver SQL |
| 試験番号 | 1Z0-071 |
| 試験の形式 | 78問・120分・合格ライン63% |
アプリ「SQLドリル300 - Silver SQL対応」の模擬試験も、この形式(78問・120分・合格ライン63%)で作られています。
1Z0-071の出題範囲は15の分類に分かれています。各単元の内容と、アプリの模擬試験78問における単元別の出題数(内訳)を併記します。※「模試n問」はアプリの模擬試験の内訳であり、実際の試験の単元別出題数を示すものではありません。
表・行・列とERDの対応、主キー・一意キー・外部キーの対比、NULLの意味、SQL文の分類(DML/DDL/DCL/トランザクション制御)。以降すべての単元の土台になる概念です。
SELECT句とFROM句の基本ルール、列別名と引用符の使い分け、連結演算子||、代替引用符演算子q''、DISTINCT、算術式とNULL、DUAL表。
WHERE句の比較演算子・BETWEEN・IN・LIKE、NULL判定のルール、論理演算子の優先順位(NOT>AND>OR)、ORDER BY、FETCH FIRSTによる行数制限、置換変数。
文字関数(UPPER/SUBSTR/INSTR/LPAD/TRIMなど)、数値関数(ROUND/TRUNC/MOD)、日付の算術演算とMONTHS_BETWEEN・ADD_MONTHS・NEXT_DAY・LAST_DAYなどの日付関数。
NVL/NVL2/NULLIF/COALESCE、暗黙的なデータ型変換の規則、TO_CHAR・TO_NUMBER・TO_DATEの書式モデル、CASE式とDECODEの対比。
COUNT/SUM/AVG/MAX/MINとNULLの扱い、GROUP BYのルール、WHEREとHAVINGの違い(評価順)、グループ関数のネスト。エラー番号を対で覚える単元です。
NATURAL JOIN・USING・ONの3構文と列修飾のルール、外部結合(LEFT/RIGHT/FULL)とOracle独自の(+)構文、自己結合・非等価結合、デカルト積。
単一行・複数行副問合せの使い分け、IN・ANY・ALLの向き、NOT INとNULLの関係、相関副問合せとEXISTS/NOT EXISTS、インライン・ビュー。
UNION/UNION ALL/INTERSECT/MINUSの使い分け、列数・データ型の一致条件、ORDER BYを書ける位置、集合演算でのNULLの扱い(WHERE句との違い)。
INSERT・UPDATE・DELETEの要点、COMMIT/ROLLBACK/SAVEPOINTと暗黙コミット、読み取り一貫性と行ロック、マルチテーブルINSERT、MERGE文。
索引の基本と制約による自動作成、関数ベース索引、プライベート/パブリック・シノニム、シーケンス(NEXTVAL/CURRVAL・欠番・CYCLE・ALTER SEQUENCE)。
CREATE TABLEとデータ型、DEFAULTとCTAS、ALTER TABLE(列の追加・変更・削除)、DELETE/TRUNCATE/DROPの違い、一時表・外部表、制約の定義と管理。
ビューの仕組み(データは基礎表にある)、単純ビューと複合ビュー、ビュー経由DMLの可否、WITH CHECK OPTION / WITH READ ONLY、インラインビューとTop-N分析。
システム権限とオブジェクト権限、GRANT/REVOKE構文、WITH ADMIN OPTIONとWITH GRANT OPTIONの対比、REVOKEの連鎖、ロール、権限確認のディクショナリ・ビュー。
USER_/ALL_/DBA_接頭辞の使い分け、制約の確認(CONSTRAINT_TYPE)、COMMENT文、SYSDATE系とCURRENT_系のタイムゾーン対比、TIMESTAMP系3型、INTERVAL。
アプリの要点まとめから、混同しやすい・ひっかけとして狙われやすいテーマを、模擬試験での比重が大きい単元を中心に8つ選びました。
DELETEはDMLで、COMMIT前ならROLLBACKで戻せ、WHERE句で行を選べます。TRUNCATEはDDLで、実行と同時に暗黙コミットされるためROLLBACKでは戻せません(全行削除のみ・表の定義は残る)。さらにDDLやDCLは実行時に暗黙コミットを発生させるため、直前の未コミットDMLも道連れで確定します——CREATE TABLEの後にROLLBACKしても、その前のUPDATEは戻りません。(単元1・10)
NULLを含む算術式(+ - * /)の結果は常にNULLで、NULL * 0 も0ではなくNULLです。一方、連結演算子||とCONCATはNULLを長さ0の文字列として扱うため、'Kato' || NULL は 'Kato' になり、結果はNULLになりません。「算術のNULLは伝播、連結のNULLは無視」という対比がそのまま問われます。(単元2・4)
負の桁指定は小数点の「左側」で丸めます。-2なら百の位で、ROUND(2567.89, -2)=2600、TRUNC(2567.89, -2)=2500です。丸めの判断に使うのは指定桁の1つ下の桁だけ。小数部の数字を見て切り上げと誤答させる出題が定番です。(単元4)
NATURAL JOINの結合列に表接頭辞を付けるとORA-25155、USING句で指定した列に付けるとORA-25154になります。逆に、ON句の結合で両表にある同名列は接頭辞を付けないとORA-00918です。結合列以外の列はどの構文でも接頭辞を付けて構いません。また、表別名を定義したら元の表名での修飾はできなくなります。(単元7)
副問合せの結果にNULLが1つでも含まれると、NOT INは必ず0行になります。エラーにはならず黙って0行になるのがいやらしいところです。INはNULLが含まれていても正常に動きます。対処は、副問合せにIS NOT NULLの条件を付けるか、NULLの影響を受けないNOT EXISTSに書き換えることです。(単元8)
>ANYは「最小値より大きい」、>ALLは「最大値より大きい」。ANYは「どれか1つ満たせばよい(ゆるい)」、ALLは「すべて満たす(きびしい)」と整理すると迷いません。SOMEはANYの同義語です。>ANYと>ALLの取り違えを誘う出題が定番です。(単元8)
COUNT(*)だけがNULLの行も数え、それ以外のグループ関数はすべてNULLを無視します。COUNT(列)は非NULL件数、COUNT(DISTINCT 列)はNULLを除く異なる値の数です。AVG(列)の分母は非NULL件数なので、列にNULLがあるとSUM(列)/COUNT(*)とは一致しません。NULLを0扱いで平均したいときはAVG(NVL(列, 0))と、NVLをAVGの内側に書きます。(単元6)
数値列にNULL時の文字列を当てると、NVLは第1引数の型への暗黙変換を「試みて失敗」しORA-01722、COALESCEは引数間の型一致を「最初から要求」しORA-00932になります。「NVL=01722/COALESCE=00932」と対で覚え、正しくはNVL(TO_CHAR(列), '文字')と内側で型を揃えます。(単元5)
アプリに収録している第1単元「リレーショナル・データベースの概念」から、そのまま3問掲載します。
アプリ「SQLドリル300 - Silver SQL対応」の機能を使った進め方の一例です。
1. 単元別に解く — 全15単元×20問を、単元1から順に解きます。各単元には要点まとめが付いているので、解く前後に読んで知識を整理できます。
2. 間違いのみ出題で潰す — 間違えた問題だけを絞り込んで解き直せます。正解できるまで繰り返すことで弱点を減らします。
3. 番号指定で復習する — 気になる問題は番号を指定して直接開けます。解説を読み直したい問題のピンポイント復習に使えます。
4. 模擬試験で仕上げる — 本試験と同じ形式(78問・120分・合格ライン63%)の模擬試験で総仕上げ。単元別の弱点分析で、点が取れていない単元に戻って復習します。
第1単元「リレーショナル・データベースの概念」の20問を、登録不要・無料でブラウザから解けます。アプリ版は全15単元×20問=300問(完全オリジナル・すべて実際のOracle Database上でSQLを実行して検証済み)+模擬試験+要点まとめ+弱点分析を収録。完全オフライン・登録不要・広告なし・買い切り¥1,000です。
無料で10問体験する(Web版) App Storeで見る