Oracle · Practice Exam · Associate · Updated for 2026

Oracle 1Z0-071 Database SQL Practice Exam

Prepare for Oracle 1Z0-071, the Oracle Database SQL exam behind the SQL Certified Associate credential, with scenario questions organized into six objectives — from NULL handling and conversion functions to joins, subqueries, set operators, DML transactions, and DDL constraints — each explained against Oracle’s own SQL Language Reference.

Start 24-hour free trial →
824+
Practice questions
6
Practice objectives
2
Study modes
24h
Free trial

1Z0-071 exam at a glance

Vendor
Oracle (Oracle University)
Exam code
1Z0-071
Exam title
Oracle Database SQL
Credential earned
Oracle Database SQL Certified Associate
Format
Multiple choice
Questions
63
Duration
120 minutes
Passing score
63%
Blueprint
16 official topic areas, no published weights (Oracle MyLearn exam topics, current September 2026)
Delivery
Proctored online through Oracle University
Cost (USD)
$245 US list for an Oracle Technology exam; local pricing varies
Prerequisites
None required; Oracle expects general computing and command-line familiarity

Sources: Oracle MyLearn — Exam 1Z0-071: Oracle Database SQL (format, questions, duration, passing score, topics) and Oracle University — exam purchase options. Oracle can revise exam details, so confirm them on MyLearn before you schedule.

Two Oracle SQL associate exams are live. 1Z0-071 remains an active Oracle exam. Oracle also offers 1Z0-171, Oracle AI Database SQL Associate — a separate credential with 60 questions, 120 minutes, and a 65% passing score, aligned to the newer database release. The two cover much of the same core SQL, but they are different exams with different credentials. This page and its practice bank prepare you for 1Z0-071. See Oracle’s 1Z0-171 exam page to compare.

About the Oracle Database SQL (1Z0-071) exam

Passing 1Z0-071 earns the Oracle Database SQL Certified Associate credential. Oracle frames it as proof of the fundamental SQL needed for any database project: queries, INSERT, UPDATE, DELETE and MERGE, data definition and data control language, tables and indexes, and data modeling. The exam is 63 multiple-choice questions in 120 minutes with a 63% passing score, delivered as an online proctored exam through Oracle University.

It is a precision exam rather than a syntax quiz. Most items show a statement and ask what it returns, whether it errors, or which rewrite meets a requirement — so one overlooked NULL, one implicit date conversion, or one DDL statement that silently commits a transaction changes the answer. Oracle publishes 16 topic areas without weights. PowerKram’s bank organizes practice into six objectives that cover 11 of them, from relational concepts and SELECT through joins, subqueries, DML, and DDL; the questions follow the exam’s result-prediction style and cite the exact Oracle SQL Language Reference page behind each answer. For where an Oracle SQL credential fits among other database and IT credentials, see how Oracle SQL certification fits into an IT certification path.

What the 1Z0-071 exam covers, and how our six objectives map to it

Oracle publishes the 1Z0-071 blueprint as 16 topic areas with no percentage weights, so we do not invent a split. PowerKram’s 1Z0-071 bank is organized into six objectives, and each one maps to specific Oracle topic areas below. Together they cover 11 of Oracle’s 16 areas.

1. Relational Database Concepts and Retrieving Data

Oracle topic areas: Relational database concepts · Retrieving data with SELECT. ERDs and the relational model; column aliases, concatenation, literals, the alternative quote operator, DISTINCT, and arithmetic with NULL values.

2. Restricting, Sorting, and Single-Row Functions

Oracle topic areas: Restricting and sorting data · Single-row functions. Operator precedence, row limiting, substitution variables with DEFINE and VERIFY, ORDER BY; character functions, date arithmetic, ROUND, TRUNC and MOD.

3. Conversion Functions, Conditional Expressions, and Group Functions

Oracle topic areas: Conversion functions and conditional expressions · Group functions. NVL, NULLIF and COALESCE; implicit versus explicit conversion with TO_CHAR, TO_NUMBER and TO_DATE; nesting functions; GROUP BY and HAVING.

4. Displaying Data from Multiple Tables and Using Subqueries

Oracle topic areas: Displaying data from multiple tables · Subqueries. Join types, self-joins, non-equijoins, outer joins, Cartesian products; single-row, multiple-row, and correlated subqueries.

5. Using SET Operators and Managing Tables with DML

Oracle topic areas: Set operators · DML and transactions. UNION, UNION ALL, INTERSECT, MINUS; INSERT, UPDATE, DELETE, multi-table inserts, MERGE, and transaction control.

6. Using DDL to Manage Tables and Their Relationships

Oracle topic areas: DDL for tables and relationships. Tables, columns and data types; SET UNUSED; TRUNCATE; temporary and external tables; constraints and referential integrity.

On Oracle’s list but outside our six objectives

These five areas are on the official topic list but are not named objectives in the PowerKram bank. They are smaller areas, but Oracle can test any of them, so study them directly from Oracle’s SQL Language Reference; the deep dive below summarizes what to know.

Indexes, synonyms and sequences

Creating and managing indexes, synonyms, and sequences, including NEXTVAL and CURRVAL.

Views

Creating and managing views.

Controlling user access

System versus object privileges, granting privileges on tables, and privileges versus roles.

Data dictionary views

Using the data dictionary views to find information about schema objects.

Data in different time zones

CURRENT_DATE, CURRENT_TIMESTAMP and LOCALTIMESTAMP, and INTERVAL data types.

Source: Oracle MyLearn — 1Z0-071 exam topics. Oracle topic names are lightly shortened; Oracle publishes no weights for this exam.

Who the 1Z0-071 exam is for

Because SQL sits underneath most data and application work, 1Z0-071 fits a wide audience:

  • SQL and database developers who write queries, DML, and DDL against Oracle Database and want a recognized credential that proves it.
  • Aspiring DBAs building the SQL base that the Oracle Database Administration track assumes.
  • Data analysts, BI developers, and data engineers who query Oracle-backed systems and need to predict results correctly around NULLs, joins, and conversions.
  • Application developers whose code issues SQL and who need to reason about transactions, sequences, and privileges.

Oracle sets no formal prerequisite; it expects general computing knowledge and comfort at a command line. Common next steps are 1Z0-082 Database Administration I, 1Z0-149 PL/SQL programming, and 1Z0-116 Database Security Administration. To see what SQL-heavy data roles pay and require, review data-engineer-track roles and salaries in the Career Hub.

What this 1Z0-071 practice exam delivers

Learn mode

See the answer, the reasoning, and why each distractor fails right after every question — built for the NULL, conversion, and implicit-commit traps 1Z0-071 leans on.

Exam mode

A timed multiple-choice run so you practice reading statements and predicting results at the pace 63 questions in 120 minutes requires.

Study by objective

Practice and review across the six objectives — from retrieving data through DDL — so a weak spot in conversions, subqueries, or transaction control shows up before exam day.

Source-linked explanations

Every answer cites the Oracle SQL Language Reference page it comes from — SELECT, Joins, IN conditions, COMMIT, MERGE, constraints — so each miss becomes a specific page to read.

Sample 1Z0-071 practice questions

Ten free questions spread across the six objectives, each with a full explanation and a link to the Oracle documentation it derives from. The complete bank is available with the 24-hour trial.

Question 1 · Relational Database Concepts and Retrieving Data

A payroll report runs SELECT last_name, salary*12 + salary*12*commission_pct AS annual_pay FROM employees; For some employees, annual_pay comes back empty.

Why is annual_pay NULL for those employees?

  1. AS annual_pay is a reserved alias, so Oracle suppresses the value.
  2. Oracle rounds very small products down to NULL.
  3. commission_pct is NULL for them, and any arithmetic expression containing a NULL evaluates to NULL.
  4. Arithmetic in a SELECT list requires the concatenation operator.
Show answer & explanation

Correct: C. Any arithmetic expression that contains a NULL evaluates to NULL, so employees with no commission lose the whole annual_pay value. Wrapping the column as NVL(commission_pct, 0) fixes it.

Why not the others: A is wrong because annual_pay is an ordinary alias. B is wrong because Oracle never converts small numbers to NULL. D is wrong because concatenation joins strings and has nothing to do with arithmetic.

Source: Oracle — Nulls in SQL →
Question 2 · Restricting, Sorting, and Single-Row Functions

A manager wants the three highest salaries in the EMPLOYEES table, but if other employees tie with the third-highest salary, they must appear too.

Which clause returns that result?

  1. ORDER BY salary DESC FETCH FIRST 3 ROWS ONLY
  2. ORDER BY salary DESC FETCH FIRST 3 ROWS WITH TIES
  3. FETCH FIRST 3 ROWS WITH TIES with no ORDER BY clause
  4. WHERE ROWNUM <= 3 ORDER BY salary DESC
Show answer & explanation

Correct: B. WITH TIES returns extra rows that share the sort key of the last row fetched, and it requires an ORDER BY clause to define that key.

Why not the others: A returns exactly three rows and drops ties. C has no ORDER BY, so no additional tied rows are returned. D applies ROWNUM before the sort, so it takes three arbitrary rows and then orders them.

Source: Oracle — SELECT (row_limiting_clause) →
Question 3 · Conversion Functions, Conditional Expressions, and Group Functions

A DATE column SHIP_DATE must be sent to a partner as the exact text YYYY-MM-DD, whatever the session’s NLS_DATE_FORMAT happens to be.

Which expression guarantees that output?

  1. FORMAT(ship_date, 'YYYY-MM-DD')
  2. CAST(ship_date AS VARCHAR2(10))
  3. TO_DATE(ship_date, 'YYYY-MM-DD')
  4. TO_CHAR(ship_date, 'YYYY-MM-DD')
Show answer & explanation

Correct: D. TO_CHAR converts a DATE into a character string using an explicit format mask, so the output is fixed regardless of session settings.

Why not the others: A is not an Oracle SQL function. B relies on the session date format, which is exactly what must not decide the output. C runs the opposite direction, converting a string into a DATE.

Source: Oracle — TO_CHAR (datetime) →
Question 4 · Conversion Functions, Conditional Expressions, and Group Functions

An analyst needs each department_id whose average salary is above 8000.

Which query is valid and correct?

  1. SELECT department_id, AVG(salary) FROM employees GROUP BY department_id HAVING AVG(salary) > 8000;
  2. SELECT department_id, AVG(salary) FROM employees WHERE AVG(salary) > 8000 GROUP BY department_id;
  3. SELECT department_id, AVG(salary) FROM employees GROUP BY department_id WHERE AVG(salary) > 8000;
  4. SELECT department_id, salary FROM employees GROUP BY department_id HAVING AVG(salary) > 8000;
Show answer & explanation

Correct: A. Aggregate conditions belong in HAVING, which filters groups after GROUP BY has formed them.

Why not the others: B puts an aggregate in WHERE, which filters individual rows before grouping and raises an error. C places WHERE after GROUP BY, which is invalid clause order. D selects salary, which is neither grouped nor aggregated.

Source: Oracle — Aggregate functions →
Question 5 · Displaying Data from Multiple Tables and Using Subqueries

A report must list every subscriber with their payments, including free-trial subscribers who have never paid. SUBSCRIBERS and PAYMENTS join on subscriber_id.

Which FROM clause keeps subscribers with no matching payment?

  1. subscribers s INNER JOIN payments p ON s.subscriber_id = p.subscriber_id
  2. subscribers s RIGHT OUTER JOIN payments p ON s.subscriber_id = p.subscriber_id
  3. subscribers s LEFT OUTER JOIN payments p ON s.subscriber_id = p.subscriber_id
  4. subscribers s CROSS JOIN payments p filtered with WHERE s.subscriber_id = p.subscriber_id
Show answer & explanation

Correct: C. A left outer join returns every row from the left table and fills the right table’s columns with NULL where no match exists — exactly the free-trial case.

Why not the others: A drops subscribers without payments. B preserves payments rather than subscribers. D is a Cartesian product filtered back to an inner join, so it also drops non-payers.

Source: Oracle — Joins →
Question 6 · Displaying Data from Multiple Tables and Using Subqueries

To find employees who manage nobody, a developer runs SELECT last_name FROM employees WHERE employee_id NOT IN (SELECT manager_id FROM employees); The CEO’s row has a NULL manager_id.

What does the query return?

  1. Every employee who is not a manager, as intended.
  2. No rows, because the subquery result contains a NULL.
  3. Only the CEO, because NULL matches nothing.
  4. An error, because a multiple-row subquery cannot follow NOT IN.
Show answer & explanation

Correct: B. If any value in the list after NOT IN is NULL, every row evaluates to FALSE or UNKNOWN and no rows are returned. Adding WHERE manager_id IS NOT NULL to the subquery, or using NOT EXISTS, fixes it.

Why not the others: A is the intended result, which the NULL prevents. C is wrong because the NULL makes the condition unknown for every row, not true for one. D is wrong because NOT IN is a valid multiple-row operator.

Source: Oracle — IN condition (NOT IN and nulls) →
Question 7 · Using SET Operators and Managing Tables with DML

A nightly job combines order rows from ORDERS_2025 and ORDERS_2026 into one list. Duplicate rows must be kept, and the job should avoid unnecessary sorting.

Which set operator fits?

  1. UNION
  2. INTERSECT
  3. MINUS
  4. UNION ALL
Show answer & explanation

Correct: D. UNION ALL returns all rows from both queries, duplicates included, with no duplicate-elimination step.

Why not the others: A removes duplicates, which violates the requirement and adds work. B returns only rows found in both tables. C returns rows from the first query that are absent from the second.

Source: Oracle — UNION, UNION ALL, INTERSECT, MINUS →
Question 8 · Using SET Operators and Managing Tables with DML

In one session, a developer runs an UPDATE on PRICES, then CREATE TABLE prices_bkp AS SELECT * FROM prices; and then ROLLBACK.

What happens to the UPDATE?

  1. It is rolled back, because ROLLBACK undoes the whole session.
  2. It is rolled back, but prices_bkp keeps the updated values.
  3. It is permanent, because Oracle issued an implicit COMMIT around the CREATE TABLE.
  4. The ROLLBACK fails because a DDL statement is pending.
Show answer & explanation

Correct: C. Oracle issues an implicit COMMIT before any syntactically valid DDL statement and after one that completes, so the UPDATE was committed before the ROLLBACK ran.

Why not the others: A ignores the implicit commit; ROLLBACK only undoes work since the last commit. B is wrong because the UPDATE itself is already permanent. D is wrong because DDL never stays pending; it commits as it runs.

Source: Oracle — COMMIT (implicit commits) → Further reading: PowerKram — 1Z0-082 Database Administration I (transactions and undo) →
Question 9 · Using DDL to Manage Tables and Their Relationships

EMPLOYEES.department_id references DEPARTMENTS. The business rule: when a department row is deleted, its employee rows must be deleted automatically.

Which constraint definition on EMPLOYEES enforces that rule?

  1. FOREIGN KEY (department_id) REFERENCES departments (department_id) ON DELETE CASCADE
  2. FOREIGN KEY (department_id) REFERENCES departments (department_id) ON DELETE SET NULL
  3. FOREIGN KEY (department_id) REFERENCES departments (department_id) with no ON DELETE clause
  4. CHECK (department_id IN (SELECT department_id FROM departments))
Show answer & explanation

Correct: A. ON DELETE CASCADE tells Oracle to delete the dependent child rows whenever the referenced parent key is deleted.

Why not the others: B keeps the employee rows and sets their department_id to NULL. C is the default behavior, which blocks deleting a department that still has employees. D is invalid because a check constraint cannot contain a subquery.

Source: Oracle — constraint (ON DELETE clause) → Further reading: PowerKram — 1Z0-082 Database Administration I →
Question 10 · Using SET Operators and Managing Tables with DML

A nightly load must synchronize PRICES from STAGE_PRICES: update the price where the product already exists and insert a row where it does not, in a single statement.

Which statement fits?

  1. A multi-table INSERT ALL into PRICES
  2. MERGE INTO prices p USING stage_prices s ON (p.product_id = s.product_id) WHEN MATCHED THEN UPDATE SET p.price = s.price WHEN NOT MATCHED THEN INSERT (product_id, price) VALUES (s.product_id, s.price)
  3. An UPDATE of PRICES with a correlated subquery against STAGE_PRICES
  4. CREATE TABLE prices AS SELECT * FROM stage_prices
Show answer & explanation

Correct: B. MERGE selects rows from a source and, based on the ON condition, updates matching target rows and inserts non-matching ones in one statement.

Why not the others: A only inserts, so existing products would be duplicated or rejected. C only updates, so new products are never added. D is DDL that fails because PRICES already exists, and it would replace rather than synchronize the data.

Source: Oracle — MERGE → Further reading: PowerKram — 1Z0-149 PL/SQL programming (DML inside PL/SQL) →

Keep going: study and career resources

1Z0-071 rewards precise reading more than memorized syntax. These two resources help with the study approach and with where Oracle SQL skills lead afterward.

Deep dive: 1Z0-071 format, NULL and conversion traps, the areas outside our objectives, and the credential path

Exam format and the numbers that changed

Oracle’s current MyLearn page lists 1Z0-071 as 63 multiple-choice questions in 120 minutes with a 63% passing score, delivered online and proctored by Oracle University. Older prep material still quotes 73 or 78 questions and a 100-minute limit, and some still point candidates to test centers; plan around the official figures, and recheck the MyLearn page when you book because Oracle can revise them. Oracle MyLearn — 1Z0-071 exam page →

NULL behavior and conversion: the highest-yield traps

Two behaviors decide a large share of result-prediction items. First, NULL: arithmetic with a NULL returns NULL, col = NULL is never true (use IS NULL), group functions skip NULLs while COUNT(*) does not, and a single NULL inside a NOT IN list makes the whole predicate return no rows. NVL, NVL2, NULLIF, and COALESCE are the repair kit. Second, conversion: Oracle converts implicitly between character, number, and date types using session settings such as NLS_DATE_FORMAT, which is why explicit TO_CHAR, TO_NUMBER, and TO_DATE with a format mask are the reliable answers. Oracle — Nulls in SQL →

The five areas outside our six objectives

These sit on Oracle’s current topic list but are not named objectives in the PowerKram bank, so cover them from Oracle’s documentation. Views: creating, replacing, and dropping them, and which views allow DML. Sequences: NEXTVAL increments, CURRVAL is session-scoped and needs NEXTVAL first. Synonyms and indexes: what each object is for and how to create and drop it. User access: system privileges versus object privileges, WITH ADMIN OPTION versus WITH GRANT OPTION, and granting roles. Data dictionary and time zones: querying USER_, ALL_, and DBA_ views, and knowing that CURRENT_DATE and CURRENT_TIMESTAMP follow the session time zone while INTERVAL YEAR TO MONTH and INTERVAL DAY TO SECOND store durations. Inside the bank’s DDL objective, expect SET UNUSED, TRUNCATE, temporary and external tables, constraints, and the implicit commit that every DDL statement performs. Oracle — Sequence pseudocolumns →

1Z0-071 or 1Z0-171?

Oracle runs two SQL associate exams. 1Z0-071 (Oracle Database SQL) earns the Oracle Database SQL Certified Associate credential. 1Z0-171 (Oracle AI Database SQL Associate) is a separate exam with its own credential: 60 questions, 120 minutes, 65% to pass, aligned to the newer database release. Core SQL overlaps heavily, so the choice usually comes down to which credential name an employer or training plan asks for. If your plan names 1Z0-071, this page and its practice bank are built for it. Oracle MyLearn — 1Z0-171 exam page →

Where the credential leads

SQL is the base for Oracle’s database tracks. Administrators continue to 1Z0-082 Database Administration I, developers to 1Z0-149 PL/SQL, and security-focused DBAs to 1Z0-116. The full Oracle catalog is on our Oracle practice exams page. Career Hub — Data Engineer →

Oracle 1Z0-071 exam FAQ

How many questions are on 1Z0-071, how long is it, and what is the passing score?
Oracle’s current exam page lists 63 multiple-choice questions, a 120-minute time limit, and a 63% passing score. Older figures of 73 or 78 questions and 100 minutes are out of date.
Does Oracle publish domain weights for 1Z0-071?
No. Oracle publishes 16 topic areas as a checklist without percentage weights, so any percentage split you see elsewhere is an estimate. PowerKram’s bank groups practice into six objectives covering 11 of those areas; indexes, synonyms and sequences, views, user access, data dictionary views, and time zones are outside those objectives and worth studying from Oracle’s documentation.
Should I take 1Z0-071 or 1Z0-171?
Both are active Oracle SQL associate exams with different credentials. 1Z0-071 earns the Oracle Database SQL Certified Associate; 1Z0-171 earns Oracle AI Database SQL Associate and has 60 questions, 120 minutes, and a 65% passing score. The core SQL overlaps, so pick the one your employer or learning plan names. PowerKram’s bank on this page targets 1Z0-071.
How is 1Z0-071 delivered and what does it cost?
Oracle delivers 1Z0-071 as an online proctored exam through Oracle University; you need a supported computer, government-issued ID, and a testing space that meets Oracle requirements, and check-in opens 30 minutes before the exam. It is priced as an Oracle Technology exam, $245 at US list, with local pricing varying by country.
What should I take after 1Z0-071?
It depends on your track. Database administrators usually move to 1Z0-082 Database Administration I, developers to 1Z0-149 PL/SQL programming, and security-focused DBAs to 1Z0-116 Database Security Administration.
Affirm Klarna

Prepare now, pay over time with Affirm & Klarna

Split the cost of full exam access into scheduled payments at checkout with Affirm or Klarna — start preparing right away without paying it all up front. Choose your plan when you check out.

Free 24-hour trial — no credit card 12 months of access, not a subscription No auto-renewal — nothing to cancel

Start your free 24-hour 1Z0-071 practice trial

Full access to the 1Z0-071 question bank, both study modes, source-linked explanations, and study by objective. No credit card required.

Start free trial →