Oracle SQL study plan
Oracle SQL · Give each week a clear focus.
8 weeks · About 6 hours per week
Relational database concepts and basic SQL SELECT retrieval & Restricting and sorting data
Describe the relational model: tables, rows, columns, primary keys, foreign keys, and NULL semantics
Write single-table SELECT statements that project specific columns and use column aliases
Restrict rows using comparison, BETWEEN, IN, LIKE, and NULL-testing predicates
Sort result sets with ORDER BY, including multiple keys and ASC/DESC per column
Predict the exact row order and column headings produced by a given query
Your checkpoint
A 30-query worksheet covering domain 1 and 2 scenarios, scored at 85% or higher, with each missed item rewritten correctly
Using single-row functions to customize output & Conversion functions and conditional expressions
Apply character, numeric, and date single-row functions to transform column output
Use NULL-handling functions to substitute values in computed columns
Convert values between character, numeric, and date types with explicit conversion functions
Construct CASE expressions and DECODE-style conditional logic inside a SELECT list
Choose the correct function or conversion when a query must return a specific formatted value
Your checkpoint
A one-page reference sheet of the 12 most testable single-row, conversion, and conditional functions, each with one working example query you wrote yourself
Displaying data from multiple tables (joins)
Write inner joins using both explicit JOIN ... ON syntax and implicit WHERE-clause joins
Differentiate equijoins from non-equijoin (range-based) join conditions
Join three or more tables and resolve ambiguous column references with table qualifiers or aliases
Explain how join predicates change row counts compared with single-table retrieval
Your checkpoint
A 20-query join lab using a self-created multi-table schema (3 or more tables), with the expected row count documented for each query and verified against execution
Displaying data from multiple tables (joins) & Using subqueries to solve queries
Write outer joins and identify which side preserves unmatched rows
Self-join a table to compare rows within the same table
Write single-row subqueries in WHERE, HAVING, and SELECT clauses
Distinguish single-row from multi-row subqueries and select the correct comparison operator for each
Debug a join query that returns duplicate or missing rows by inspecting the join condition
Your checkpoint
A timed 25-question practice set on joins and subqueries completed in 40 minutes with 80% or higher, plus a written explanation of every incorrect option
Using subqueries to solve queries & Reporting aggregated data using group functions
Write multi-row subqueries using IN, ANY, and ALL
Use correlated subqueries, including EXISTS and NOT EXISTS, to filter rows against the outer query
Place subqueries in the FROM clause and explain when a scalar subquery is valid in the SELECT list
Apply group functions to summarize rows and state how NULLs affect each function
Form groups with GROUP BY and filter aggregated results with HAVING rather than WHERE
Your checkpoint
A 10-query report pack where every query returns one summarized row per group, each paired with the row counts before and after grouping
Reporting aggregated data using group functions & Using set operators
Compose queries that combine GROUP BY, HAVING, and ORDER BY on aggregate results
Detect and fix illegal queries that mix grouped columns with ungrouped ones in the SELECT list
Combine result sets with UNION and UNION ALL and explain the duplicate-handling difference
Use INTERSECT and MINUS to compare two result sets and predict the surviving rows
Verify column count and data type compatibility requirements across set operator operands
Your checkpoint
A comparison matrix of the four set operators showing, for two sample queries you wrote, the exact rows each operator returns and why
Managing tables using DML statements
Insert rows using explicit column lists, multi-row inserts, and subquery-driven inserts
Update rows with correlated and uncorrelated conditions and predict affected row counts
Delete rows and describe how delete behavior interacts with referential constraints
Perform multi-row DML inside a transaction and use COMMIT and ROLLBACK to control the outcome
Identify which uncommitted changes are visible to the same session versus other sessions
Your checkpoint
A transaction lab script with four DML scenarios, each showing the pre-state, the statement, the post-state, and the effect of COMMIT versus ROLLBACK
Introduction to DDL and managing schema objects (tables, views, sequences, synonyms, indexes) & Relational database concepts and basic SQL SELECT retrieval & Restricting and sorting data & Using single-row functions to customize output & Conversion functions and conditional expressions & Reporting aggregated data using group functions & Displaying data from multiple tables (joins) & Using subqueries to solve queries & Using set operators & Managing tables using DML statements
Create and alter tables, including column data types, defaults, and NOT NULL constraints
Create and query views, and describe how a view over a join behaves for DML
Create sequences and synonyms and reference them from DML statements
Describe when an index improves retrieval and when it does not
Complete a full-length timed practice exam and map every missed question back to its domain
Your checkpoint
One full-length timed practice exam (all 10 domains) scored at 80% or higher, with a domain-by-domain error tally and a list of the three weakest areas
Milestones
Week 2: Without notes, write from memory a query that restricts, sorts, and applies at least two single-row functions plus one CASE expression; it must execute without error
Week 4: Score 80% or higher on a 25-question joins-and-subqueries set and correctly classify each of the 10 heaviest-weight joins topics (inner, outer, self, non-equijoin, single-row, multi-row, correlated) in under 5 minutes
Week 6: Write one query that joins three tables, groups the result, filters groups with HAVING, and combines output with UNION ALL, and state the expected row count before running it
Week 8: Score 80% or higher on a full-length timed practice exam spanning all 10 domains, with no domain below 70%