Another Oracle Dev Gym class for you...

Databases for Developers: Next Level

A FREE 10-part tutorial to help you improve your Oracle SQL skills.

This course continues where Databases for Developers: Foundations left off, taking you further on your SQL journey.

The class consists of a series of videos introducing concepts, interactive coding sections, and quizzes to test your understanding.

The first module is now open. Join us for SQL-awesomeness! :)


  • Instructor

    Chris Saxon*

  • Starts On

    July 16 2018

  • Difficulty


Oracle Account Text

You need an Oracle Account to take a class. Click here to sign up.
Already a member of the Oracle Dev Gym? Click here to get back to work.

Course Modules

Module 1: Null
Null is a placeholder for missing or not applicable information. But it introduces a third state to true/false logic: unknown. This module shows you the correct way to query null values.
Module 2: Subqueries
A subquery is a query buried in another SQL statement. These come in several varieties. This module explains their differences and how to use them.
Module 3: Order By and Top-N
To guarantee your results are sorted in a particular way, you must use an order by clause. This module shows you how this works. It goes on to explain how to filter results to show the first N rows of a sorted data set.
Module 4: Analytic Functions
Aggregate functions summarize data, so you get one row per group. But sometimes you need to see the individual rows in the group alongside the totals. To do this you need analytic functions. But that’s not all. Analytic functions enable you to define sliding windows over your rows. So you can compute running totals with ease. This module gives an overview of how to do this.
Module 5: Pivot and Unpivot
Sometimes you need to summarize data by week or month. But with the dates as columns instead of rows! So you need to convert the row values into column headings. Or the reverse. This module shows you how to do this with the pivot and unpivot clauses.
Module 6: Union, Minus and Intersect
You can combine rows from two tables to get all the rows, only those in common or those in one table not in the other. This module shows you how to do this with the set operators union, intersect and minus.
Module 7: Hierarchical Queries
Often a table stores rows with a parent-child relationship. For example, managers to their employees, folders on your computer, and family trees. This module shows you how to display parents and children next to each other using SQL.
Module 8: Merge
Sometimes when saving a record, you want to add it to the database if it doesn't exist. But if it does, update the existing values instead. So you need an update-or-insert operation. Luckily there’s one statement that does it all: merge. This module shows you how.
Module 9: Read Consistency
If someone saves changes to a table you’re querying, what happens? At what point do you see their updates? How do you ensure you get a consistent view of the data? This module explains how Oracle Database's read consistency model works and discusses the implications for your code.
Module 10: Course Review
A recap of the course material and a live Q&A for you to put your questions to the experts! There are no videos or tutorials in this module. Just a series of quizzes to check you've understood all the course material.

Frequently Asked Questions

How much does this cost?
Nothing. Nada. Nil. Zilch. That's right, it's 100% FREE!
I missed the start. Can I still join?
Yes! You can join Databases for Developers at any time
When does the course end?
The modules have no fixed end date. Once you're registered you can take open classes whenever you want
What will I learn on this course?
This course will take you beyond basic select statements. For a complete description, see the course outline
How much time will it take?
We estimate that each module will take up to 30 minutes to complete
What if I fall behind?
This is a self-paced course. Once registered, you have lifetime access to these materials to review at any time. So you can complete it at your leisure. But to get the best value from this course we recommend that you complete each module in the week it opens.
What is the format of this course?
The course is a combination of:
  • Videos designed to teach you database concepts.
  • Coding tutorials for you to practice your skills.
  • Quizzes to deepen your knowledge.
Do I need access to an Oracle Database?
No! This is a 100% online course. We've designed the materials so you can complete the course without a database.
I don't have access to an Oracle Database. Where can I practice what I've learned?
Head to LiveSQL. This is a free, browser based tool you can use to write SQL.
Will I get a certificate for completing this course?
Yes! If you complete all the exercises then we'll send you a certificate of your achievement.
Which language is this course in?
All the videos and quizzes are in English. The videos include English subtitles
I don't know anything about SQL. Is this course right for me?
This assumes a working knowledge of SQL. If you're starting from scratch, take Databases for Developers first.
I already have a good working knowledge of SQL and Oracle Database. Is this course right for me?
We've designed this course to level up your SQL skills. If you're stuck at basic joins, this class is perfect. If you're an advanced user there may be little new for you. But it never hurts to brush up your skills, right? ;)
I still have unanswered questions. Where can I ask them?
You can reach out to Chris Saxon on Twitter

*About Chris Saxon

Chris Saxon is the quizmaster for the Database Design competitions and an Oracle Developer Advocate for SQL. His job is to help you get the best out of the Oracle Database and have fun with SQL! He's also part of the answer team on Ask TOM and creates YouTube videos at The Magic of SQL channel.

More from Chris Saxon