1Z0-071 — Oracle Database SQL Exam Blueprint

Practical exam blueprint for Oracle Database SQL (1Z0-071) readiness: SQL queries, joins, functions, subqueries, DML, DDL, and final-review checks.

How to Use This Exam Blueprint

Use this independent Exam Blueprint as a readiness map for the Oracle Database SQL (1Z0-071) exam. It is not a replacement for Oracle documentation or hands-on SQL practice. Work through each area until you can read a SQL question, predict the result, identify syntax errors, and choose the best statement without guessing.

For each topic, ask:

  • Can I explain what the statement does before running it?
  • Can I predict the returned rows, column names, sort order, and null behavior?
  • Can I identify why an option is invalid SQL?
  • Can I choose between similar constructs such as WHERE vs. HAVING, IN vs. EXISTS, UNION vs. UNION ALL, or DELETE vs. TRUNCATE?
  • Can I handle Oracle-specific SQL behavior around dates, character functions, conversion functions, aliases, and nulls?

Topic-area readiness table

Readiness areaWhat to reviewYou are ready when you can…
Relational database conceptsTables, rows, columns, primary keys, foreign keys, entity relationships, normalization basics, data integrityIdentify table relationships, recognize key constraints, and explain why joins are needed
Basic SELECT statementsSELECT, FROM, expressions, aliases, concatenation, literal values, DISTINCTPredict output column names, duplicate handling, and expression results
Filtering rowsWHERE, comparison operators, BETWEEN, IN, LIKE, IS NULL, logical operatorsBuild and debug predicates, especially with NULL, operator precedence, and pattern matching
Sorting and row presentationORDER BY, aliases, column positions, expressions, ascending/descending order, null sort behaviorDetermine final output order and know when aliases are usable
Single-row functionsCharacter, numeric, date, and general functionsApply functions to each row and predict data type and value returned
Conversion functionsTO_CHAR, TO_DATE, TO_NUMBER, format models, implicit vs. explicit conversionAvoid conversion traps and choose explicit conversion when needed
Conditional expressionsCASE, DECODE, NVL, NVL2, NULLIF, COALESCESelect the correct expression for null handling or conditional output
Aggregate reportingCOUNT, SUM, AVG, MIN, MAX, GROUP BY, HAVINGKnow row-level vs. group-level logic and avoid invalid aggregate queries
JoinsInner joins, outer joins, self joins, Cartesian products, ON, USING, NATURAL JOINChoose the correct join type and predict unmatched-row behavior
SubqueriesSingle-row, multiple-row, correlated, nested subqueries, scalar subqueriesMatch subquery return shape to operators such as =, IN, ANY, ALL, and EXISTS
Set operatorsUNION, UNION ALL, INTERSECT, MINUSCombine result sets correctly and predict duplicate elimination and column naming
DMLINSERT, UPDATE, DELETE, MERGE where applicable, default values, subquery-based DMLModify data safely and understand which rows are affected
TransactionsCOMMIT, ROLLBACK, savepoints, statement failure vs. transaction stateExplain when changes become permanent and how rollback scope works
DDL and table managementCREATE TABLE, ALTER TABLE, DROP TABLE, constraints, defaults, data typesCreate and modify table structures with correct constraint behavior
Schema objects and access pathsIndexes, sequences, synonyms, views where included in your study scopeRecognize purpose, basic syntax, and exam-level usage scenarios
Oracle SQL syntax judgmentClause order, alias visibility, data type compatibility, invalid combinationsEliminate wrong answers quickly by spotting syntax and semantic errors

Core SQL statement checklist

Basic query structure

Make sure you can write and troubleshoot this pattern without hesitation:

SELECT DISTINCT
       column_name AS alias_name,
       expression
FROM   table_name
WHERE  row_filter
ORDER BY alias_name DESC;

Check yourself:

  • I know the required clauses and optional clauses in a basic SELECT.
  • I can distinguish a column alias from a table alias.
  • I know when double quotes make an alias case-sensitive or allow spaces.
  • I can identify when DISTINCT applies to the full selected row, not just one column.
  • I can predict the result of arithmetic expressions involving NULL.
  • I know that string literals use single quotes.
  • I can recognize invalid attempts to use a SELECT alias in the WHERE clause.
  • I can use ORDER BY with a column name, alias, expression, or position when valid.

Filtering and logical conditions

Predicate typeExampleReadiness check
Equality and inequalitydepartment_id = 10Know how character, number, and date comparisons work
Rangesalary BETWEEN 5000 AND 9000Remember that BETWEEN is inclusive
Listdepartment_id IN (10, 20, 30)Know when IN is equivalent to multiple OR conditions
Patternlast_name LIKE 'S%'Use % for any length and _ for one character
Null checkcommission_pct IS NULLNever use = NULL or <> NULL
NegationNOT IN, NOT LIKE, IS NOT NULLWatch for unexpected behavior with nulls
Compound logicA AND B OR CApply operator precedence or add parentheses

Can you do this?

  • Predict which rows pass a filter with mixed AND and OR.
  • Rewrite a confusing condition using parentheses.
  • Identify why WHERE bonus = NULL returns no rows.
  • Escape or reason through wildcard characters in LIKE scenarios.
  • Determine whether NOT BETWEEN and NOT IN are appropriate.
  • Explain why NOT IN can be dangerous when the list or subquery contains NULL.

Functions and expression readiness

Character functions

Function areaExamples to knowWhat to practice
Case conversionUPPER, LOWER, INITCAPCase-insensitive comparisons and formatted output
Character manipulationCONCAT, SUBSTR, LENGTH, INSTRPosition counting, substring length, and search results
Padding and trimmingLPAD, RPAD, TRIM, LTRIM, RTRIMOutput length and removal behavior
ReplacementREPLACEPredict changed strings and unchanged strings

Practice prompt:

SELECT employee_id,
       UPPER(last_name) AS name_key,
       SUBSTR(last_name, 1, 3) AS prefix,
       LENGTH(last_name) AS name_length
FROM   employees;

You should be able to answer:

  • What data type does each expression return?
  • Is the function applied once per row or once per result set?
  • What happens if the input value is NULL?
  • Which functions are useful in WHERE filters?
  • How can applying a function to a column affect index usage conceptually?

Numeric functions

Review:

  • ROUND
  • TRUNC
  • MOD
  • Sign and precision effects
  • Difference between rounding and truncating
  • Behavior with negative numbers where covered by your practice materials

Can you predict the output?

SELECT ROUND(45.926, 2),
       TRUNC(45.926, 2),
       MOD(10, 3)
FROM   dual;

Date functions and date arithmetic

Oracle SQL date questions often test small details. Be ready to work with:

ConceptReview focus
Current date/time functionsKnow which function returns database/session date or timestamp in your study scope
Date arithmeticAdding days, subtracting dates, fractional days
Month logicADD_MONTHS, MONTHS_BETWEEN, LAST_DAY, NEXT_DAY
Date rounding/truncationROUND(date), TRUNC(date)
Extraction and formattingEXTRACT, TO_CHAR date format models where applicable
Time zonesBasic awareness if covered by your course or practice set

Can you do this?

  • Add 7 days to a date.
  • Find the number of days between two dates.
  • Format a date as a character string with TO_CHAR.
  • Convert a character string to a date with TO_DATE.
  • Recognize when implicit date conversion is risky.
  • Predict whether a date comparison includes a time component.

Example:

SELECT employee_id,
       hire_date,
       ADD_MONTHS(hire_date, 6) AS review_date,
       LAST_DAY(hire_date) AS hire_month_end
FROM   employees;

Conversion and null-handling functions

FunctionMain useExam trap
TO_CHARConvert date/number to characterFormat model affects output, not stored value
TO_DATEConvert character to dateFormat model must match input meaning
TO_NUMBERConvert character to numberInvalid numeric text causes errors
NVLSubstitute value when expression is nullReplacement should be compatible with expression type
NVL2Return one value if not null, another if nullEasy to reverse the second and third arguments
NULLIFReturn null when two expressions are equalUseful for avoiding certain comparisons
COALESCEReturn first non-null expressionData type compatibility matters
CASEConditional logicOrder matters; first matching condition wins
DECODEOracle conditional comparisonCompare syntax carefully; easier to misread than CASE

Checklist:

  • I can choose NVL vs. COALESCE.
  • I can write both simple and searched CASE expressions.
  • I can identify type mismatch problems in null-handling expressions.
  • I can explain why explicit conversion is safer than relying on implicit conversion.
  • I can predict output when all expressions are null.

Example:

SELECT employee_id,
       salary,
       commission_pct,
       CASE
         WHEN commission_pct IS NULL THEN 'No commission'
         WHEN commission_pct > 0 THEN 'Commissioned'
         ELSE 'Check'
       END AS commission_status
FROM   employees;

Aggregation and grouping checklist

Aggregate functions

Know the difference between row-level expressions and group-level results.

FunctionIncludes nulls?Key readiness point
COUNT(*)Yes, counts rowsCounts every row in the group
COUNT(column)NoCounts non-null values in that column
SUM(column)NoIgnores nulls
AVG(column)NoAverage of non-null values
MIN(column) / MAX(column)NoWorks with comparable data types

Can you do this?

  • Explain why COUNT(*) and COUNT(commission_pct) can return different values.
  • Identify every non-aggregated column that must appear in GROUP BY.
  • Use WHERE to filter rows before grouping.
  • Use HAVING to filter groups after grouping.
  • Predict results for groups containing only null values.
  • Recognize invalid use of aggregate functions in WHERE.

Grouping decision table

NeedUseNot
Filter individual rows before aggregationWHEREHAVING
Filter aggregate result groupsHAVINGWHERE
Display one result per groupGROUP BYPlain SELECT with mixed columns
Count all rowsCOUNT(*)COUNT(nullable_column)
Count known values onlyCOUNT(column)COUNT(*)

Example:

SELECT department_id,
       COUNT(*) AS employee_count,
       AVG salary_avg
FROM   employees
GROUP BY department_id
HAVING COUNT(*) > 5;

Readiness check:

  • Can you spot the syntax issue in the example?
  • Can you correct the aggregate expression?
  • Can you explain whether department_id may be null and how that affects grouping?
  • Can you move conditions between WHERE and HAVING only when logically valid?

Corrected pattern:

SELECT department_id,
       COUNT(*) AS employee_count,
       AVG(salary) AS salary_avg
FROM   employees
GROUP BY department_id
HAVING COUNT(*) > 5;

Join readiness

Join types to master

Join typeWhat it returnsCommon trap
Inner joinMatching rows from both tablesMissing join condition creates unintended combinations
Left outer joinAll rows from left table plus matching right rowsFiltering right-table columns in WHERE can remove outer-joined rows
Right outer joinAll rows from right table plus matching left rowsSame filtering issue as left join
Full outer joinAll matched and unmatched rows from both sidesNulls appear for missing side
Self joinRows in a table joined to other rows in same tableRequires clear table aliases
Cross joinCartesian productUsually unintended unless explicitly required
Natural joinJoins columns with same namesCan be risky because matching columns are implicit
Join with USINGJoins same-named columns listed in USINGColumn qualification rules differ for the USING column

Core pattern:

SELECT e.employee_id,
       e.last_name,
       d.department_name
FROM   employees e
       JOIN departments d
         ON e.department_id = d.department_id;

Outer join pattern:

SELECT d.department_name,
       e.employee_id
FROM   departments d
       LEFT OUTER JOIN employees e
         ON d.department_id = e.department_id;

Can you do this?

  • Choose inner vs. outer join based on whether unmatched rows must be preserved.
  • Identify the driving table in a left or right outer join.
  • Explain why join predicates belong in ON.
  • Explain when row filters belong in WHERE.
  • Use aliases consistently in multi-table queries.
  • Recognize a Cartesian product.
  • Write a self join for employee-manager style data.
  • Predict nulls introduced by an outer join.

Outer join filter trap

Be ready for questions like this:

SELECT d.department_name,
       e.employee_id
FROM   departments d
       LEFT OUTER JOIN employees e
         ON d.department_id = e.department_id
WHERE  e.salary > 5000;

Ask:

  • Does the WHERE clause eliminate rows where e.salary is null?
  • Does this still preserve departments with no employees?
  • Should the salary condition be part of the join condition instead?
  • What result is the question asking for: all departments, or only departments with qualifying employees?

Subquery checklist

Subquery types

Subquery typeReturnsTypical operators
Single-rowOne row, one value=, >, <, >=, <=, <>
Multiple-rowMultiple values in one columnIN, ANY, ALL
Multiple-columnMultiple columnsTuple-style comparisons where valid
ScalarOne valueCan appear where a single expression is allowed
CorrelatedDepends on outer query rowOften used with EXISTS
NestedSubquery inside another subqueryRead from inside out carefully

Single-row example:

SELECT employee_id, last_name, salary
FROM   employees
WHERE  salary > (
         SELECT AVG(salary)
         FROM   employees
       );

Multiple-row example:

SELECT employee_id, last_name, department_id
FROM   employees
WHERE  department_id IN (
         SELECT department_id
         FROM   departments
         WHERE  location_id = 1700
       );

Correlated example:

SELECT d.department_id, d.department_name
FROM   departments d
WHERE  EXISTS (
         SELECT 1
         FROM   employees e
         WHERE  e.department_id = d.department_id
       );

Can you do this?

  • Match subquery result cardinality to the correct operator.
  • Identify when a single-row subquery returns too many rows.
  • Choose IN when comparing against a list of values.
  • Choose EXISTS when testing whether related rows exist.
  • Explain how a correlated subquery is evaluated conceptually.
  • Avoid NOT IN surprises when the subquery can return NULL.
  • Use subqueries in WHERE, HAVING, FROM, or SELECT when valid.
  • Distinguish a subquery from a join solution.

Subquery decision prompts

ScenarioLikely construct
Find employees earning more than the company averageSingle-row subquery with AVG
Find departments that have at least one employeeEXISTS or inner join
Find departments with no employeesNOT EXISTS or outer join with null filter
Find employees in departments located in a given cityIN subquery or join
Compare salary to all salaries in another departmentALL
Compare salary to at least one salary in another departmentANY or SOME where supported

Set operator readiness

Set operator comparison

OperatorDuplicate handlingReadiness point
UNIONRemoves duplicatesSort/distinct work may affect output expectations
UNION ALLKeeps duplicatesUsually easiest to predict row counts
INTERSECTReturns common rowsRows must match across selected columns
MINUSReturns rows from first query not in secondQuery order matters

Rules to review:

  • Each query must return the same number of columns.
  • Corresponding columns must be compatible by data type.
  • Final column names usually come from the first query.
  • ORDER BY belongs at the end of the combined query.
  • Duplicates are evaluated across the full row, not one column.
  • Parentheses may be needed to make intended order clear in complex combinations.

Example:

SELECT employee_id, email
FROM   employees
WHERE  department_id = 10
UNION
SELECT employee_id, email
FROM   employees
WHERE  department_id = 20
ORDER BY employee_id;

Can you do this?

  • Predict whether duplicates remain.
  • Identify invalid set operations caused by mismatched column counts.
  • Explain why UNION ALL can return more rows than UNION.
  • Determine which query controls displayed column aliases.
  • Choose MINUS for “in A but not in B” scenarios.

DML, transactions, and data changes

DML statement readiness

StatementPurposeWhat to verify
INSERTAdd rowsColumn list, value order, defaults, nullability, data types
INSERT ... SELECTAdd rows from a querySelected columns match target columns
UPDATEModify rowsWHERE clause scope and subquery behavior
DELETERemove rowsWHERE clause scope and referential constraints
MERGEInsert/update based on match logic where includedMatch condition and affected action
TRUNCATERemove all rows as a DDL-style operationTransaction and trigger behavior at exam level, if covered

Example:

UPDATE employees
SET    salary = salary * 1.10
WHERE  department_id = 60;

Ask before choosing an answer:

  • Which rows are affected?
  • What happens if the WHERE clause is omitted?
  • Are constraints checked?
  • Are data types compatible?
  • Is the statement DML or DDL?
  • Can the change be rolled back in the scenario given?

Transaction control checklist

Review:

  • COMMIT makes current transaction changes permanent.
  • ROLLBACK undoes uncommitted transaction changes.
  • SAVEPOINT marks a point to roll back to.
  • Some statements may implicitly end a transaction depending on statement type and Oracle behavior.
  • Statement failure is not always the same as full transaction rollback.
  • Locks and read consistency may appear conceptually, even if not deeply tested.

Core patterns:

SAVEPOINT before_raise;

UPDATE employees
SET    salary = salary * 1.05
WHERE  department_id = 80;

ROLLBACK TO before_raise;

Can you do this?

  • Determine whether data remains changed after ROLLBACK.
  • Determine whether a COMMIT prevents later rollback of earlier changes.
  • Identify DML vs. DDL transaction implications.
  • Explain why transaction order matters in multi-statement scenarios.

DDL and table management checklist

Table creation and data types

Be ready to read and write statements like:

CREATE TABLE project_assignments (
  assignment_id NUMBER,
  employee_id   NUMBER NOT NULL,
  project_code  VARCHAR2(30),
  start_date    DATE DEFAULT SYSDATE,
  status        VARCHAR2(20),
  CONSTRAINT project_assignments_pk PRIMARY KEY (assignment_id)
);

Review:

  • Common Oracle data types in exam-level SQL: character, numeric, date/time-related types.
  • Difference between CHAR and VARCHAR2 at a practical level.
  • Column defaults.
  • NOT NULL constraints.
  • Naming constraints.
  • Creating a table from a query where included in your study scope.
  • Effects of DROP, ALTER, RENAME, and TRUNCATE at exam level.

Constraint readiness

ConstraintPurposeCommon exam cue
PRIMARY KEYUniquely identifies each row and disallows nullsOne primary key per table, can be composite
FOREIGN KEYEnforces relationship to parent keyInsert/update/delete may fail due to referential integrity
UNIQUEPrevents duplicate non-null key valuesDifferent from primary key because null behavior matters
NOT NULLRequires a valueColumn-level constraint
CHECKRestricts allowed valuesExpression must evaluate within allowed rule
DEFAULTSupplies value when omittedDoes not override explicit provided value

Can you do this?

  • Add a primary key to an existing table.
  • Add a foreign key referencing another table.
  • Identify why an insert violates a constraint.
  • Determine whether a column can accept NULL.
  • Explain difference between a constraint and an index at a high level.
  • Recognize valid column-level vs. table-level constraint syntax.

Example:

ALTER TABLE project_assignments
ADD CONSTRAINT project_assignments_emp_fk
FOREIGN KEY (employee_id)
REFERENCES employees(employee_id);

Schema object checks

Depending on the exact preparation materials you are using for Oracle Database SQL (1Z0-071), be ready for exam-level questions involving supporting schema objects.

ObjectWhat to knowReadiness prompt
IndexHelps locate rows and may support constraintsCan you identify why an index might be created?
SequenceGenerates numeric valuesCan you use NEXTVAL and CURRVAL correctly where covered?
ViewStored query presented as a table-like objectCan you distinguish base table data from view definition?
SynonymAlternate name for an objectCan you identify why a synonym is useful?

Sequence example:

INSERT INTO project_assignments (assignment_id, employee_id, project_code)
VALUES (project_assignment_seq.NEXTVAL, 101, 'SQL-UPGRADE');

Checklist:

  • I can recognize basic CREATE INDEX syntax.
  • I know that indexes are not selected directly in ordinary queries.
  • I can use a sequence-generated value in an INSERT.
  • I understand that a view stores a query definition, not necessarily a separate copy of rows.
  • I can identify when a synonym is used to simplify object references.

Oracle SQL syntax and clause-order checks

Clause-order readiness

Know the normal written order:

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY

For set operators, the final ORDER BY appears after the combined query.

Can you do this?

  • Put clauses in valid written order.
  • Identify clauses that cannot appear together in a proposed way.
  • Spot missing commas between selected expressions.
  • Spot missing parentheses around function arguments.
  • Identify invalid alias references.
  • Confirm whether a function is single-row or aggregate.
  • Check data type compatibility in expressions and comparisons.

Alias visibility

LocationCan usually use select-list alias?Readiness note
SELECT same listNo, not for another expression in same listUse original expression or nesting
WHERENoFilter before select alias is available
GROUP BYBe careful; use expression if requiredPractice Oracle-specific behavior from your materials
HAVINGBe careful; use aggregate/expression directlyAvoid relying on alias unless clearly valid
ORDER BYYesCommon exam use case

Scenario and decision-point checks

Choose the right construct

If the question asks you to…Think first about…
Return only matching rows from two tablesInner join
Return all rows from one table even without matchesOuter join
Find rows in one result but not anotherMINUS or NOT EXISTS
Remove duplicate rows across two queriesUNION
Preserve duplicate rows across two queriesUNION ALL
Filter rows before calculating group totalsWHERE
Filter groups after calculating totalsHAVING
Replace null display valuesNVL or COALESCE
Apply multi-branch conditional logicCASE
Compare a value to a list from a subqueryIN, ANY, or ALL
Test whether related rows existEXISTS
Permanently save transaction changesCOMMIT
Undo uncommitted changesROLLBACK

Common exam-style cues

Use these prompts when reading a question stem:

  • “All departments, including departments with no employees” means outer join.
  • “Employees who do not belong to any listed department” may involve null-aware logic.
  • “More than the average” usually signals an aggregate subquery.
  • “At least one” often maps to EXISTS, IN, or ANY.
  • “Every” or “all values” may map to ALL.
  • “Remove duplicate rows” points to DISTINCT or UNION.
  • “Keep duplicate rows” points to UNION ALL.
  • “After grouping” points to HAVING.
  • “Format the date as text” points to TO_CHAR.
  • “Convert the text into a date” points to TO_DATE.
  • “Generate a new numeric key” may point to a sequence.
  • “Undo only part of the transaction” points to a savepoint.

Common weak areas and traps

Weak areaWhy candidates miss itHow to fix it
Null comparisonsNULL is not equal to anything, including another NULLDrill IS NULL, IS NOT NULL, NVL, COALESCE, and NOT IN cases
WHERE vs. HAVINGBoth filter, but at different stagesLabel each condition as row-level or group-level
Outer join filtersA WHERE condition can cancel preserved rowsDecide whether the condition belongs in ON or WHERE
Aggregate query validityNon-aggregated selected columns require groupingCheck every selected expression
Single-row subquery errorsSubquery returns more than one row for =Match operator to subquery shape
Implicit conversionLooks convenient but can fail or behave unexpectedlyPrefer explicit TO_DATE, TO_CHAR, TO_NUMBER
Date formattingFormat model changes display, not stored dateSeparate storage, comparison, and presentation
Set operator column rulesQueries look similar but columns do not alignCount columns and compare data types by position
Alias useAlias works in some clauses but not othersMemorize alias visibility rules
COUNT(*) vs. COUNT(column)Nulls affect only the column versionPractice small sample tables
NATURAL JOINImplicit matching columns may surprise youPrefer explicit joins when reasoning
Missing WHERE in DMLAll rows are affectedAlways identify the target row set first
DDL vs. DMLTransaction behavior differsClassify the statement before answering
Constraint timingInserts/updates may fail due to parent-child rulesTrace parent and child rows

Hands-on practice checklist

Use a small practice schema and make sure you can complete these tasks from memory.

Querying tasks

  • Select specific columns with readable aliases.
  • Concatenate character values with literals.
  • Remove duplicate rows with DISTINCT.
  • Filter rows using IN, BETWEEN, LIKE, and null checks.
  • Sort by alias and by multiple columns.
  • Use character functions in both SELECT and WHERE.
  • Use numeric functions and predict rounding/truncation.
  • Use date functions and perform date arithmetic.
  • Convert dates and numbers to formatted character output.
  • Write simple and searched CASE expressions.

Join tasks

  • Join two tables with ON.
  • Join three tables with clear aliases.
  • Write a left outer join that preserves unmatched parent rows.
  • Write a self join.
  • Identify and correct an accidental Cartesian product.
  • Compare ON, USING, and NATURAL JOIN behavior.

Aggregation tasks

  • Count all rows and count non-null values.
  • Group rows by one column.
  • Group rows by multiple columns.
  • Filter rows before grouping.
  • Filter groups after aggregation.
  • Use a subquery with an aggregate result.

Subquery and set-operator tasks

  • Write a single-row subquery.
  • Write a multiple-row subquery using IN.
  • Write a correlated subquery using EXISTS.
  • Rewrite a subquery as a join when appropriate.
  • Combine results with UNION.
  • Preserve duplicates with UNION ALL.
  • Return rows in one query but not another with MINUS.

DML and DDL tasks

  • Insert a row with all columns listed.
  • Insert rows using a subquery.
  • Update only selected rows.
  • Delete only selected rows.
  • Use COMMIT, ROLLBACK, and SAVEPOINT.
  • Create a table with primary key and foreign key constraints.
  • Add, modify, or drop a column where valid.
  • Add constraints with ALTER TABLE.
  • Recognize basic index, sequence, view, or synonym usage if included in your review.

Final-week checklist

Seven-day review priorities

TimeframeFocusWhat “done” means
7 days outRebuild the topic mapYou know your weakest 3 areas and have a plan
6 days outFunctions and conversionsYou can predict function outputs without running SQL
5 days outJoins and subqueriesYou can choose the correct construct from a scenario
4 days outAggregation and set operatorsYou can identify invalid grouping and set syntax
3 days outDML, transactions, DDLYou can classify statements and predict effects
2 days outMixed timed practiceYou review every miss and label the cause
1 day outLight reviewYou focus on traps, not new material

Final review “must know” list

  • Clause order for SELECT statements.
  • Difference between WHERE and HAVING.
  • Difference between COUNT(*) and COUNT(column).
  • How nulls affect comparisons and expressions.
  • How outer joins preserve unmatched rows.
  • How subquery result shape controls valid operators.
  • How UNION, UNION ALL, INTERSECT, and MINUS differ.
  • How explicit conversion functions work.
  • How CASE, NVL, COALESCE, and related expressions handle nulls.
  • How COMMIT, ROLLBACK, and savepoints affect changes.
  • Basic DDL syntax for tables and constraints.
  • Common reasons SQL statements are invalid.

Readiness scorecard

Use this quick self-assessment before scheduling or taking a full practice exam.

AreaNot readyAlmost readyReady
Basic SELECT, filtering, sortingI still miss syntax basicsI can write queries but miss edge casesI can predict output and errors
Functions and conversionsI confuse function purposeI know most functions but miss null/date casesI can solve function-heavy questions reliably
AggregationI mix row and group logicI know basics but miss invalid queriesI can validate GROUP BY and HAVING quickly
JoinsI guess join typeI can write joins but miss outer join filtersI can predict matched and unmatched rows
SubqueriesI mismatch operatorsI know common patternsI can choose and debug subquery forms
Set operatorsI confuse duplicate behaviorI know operators but miss column rulesI can predict row handling and syntax
DML and transactionsI forget commit/rollback effectsI know basics but miss savepoint scenariosI can trace multi-statement outcomes
DDL and constraintsI know terms onlyI can read syntax but not all effectsI can create and troubleshoot table rules

Practical next step

Pick one weak area from the scorecard and do a focused practice block before attempting another mixed set. For Oracle Database SQL (1Z0-071), the best improvement usually comes from writing SQL, predicting the result, then checking exactly why each wrong answer is wrong: syntax, data type, null behavior, join logic, grouping logic, or transaction effect.

Browse Certification Practice Tests by Exam Family