Advanced SQL Course
Course 929
3 DAY COURSE
Course Outline
Structured Query Language (SQL) is the cornerstone of all relational database operations. In this hands-on Advanced SQL course, you will learn how to exploit the full potential of the SELECT statement to write robust queries using the best query method for your application, test your queries, and avoid common errors and pitfalls. It also teaches alternative solutions to given problems, enabling you to choose the most efficient solution in each situation.
Advanced SQL Course Benefits
-
In this Advanced SQL Course, you will learn how to:
- Maximize the potential of SQL to build powerful, complex, and robust SQL queries.
- Query multiple tables with inner joins, outer joins, and self joins.
- Construct recursive common table expressions.
- Summarize data using aggregation and grouping.
- Execute analytic functions to calculate ranks.
- Build simple and correlated subqueries.
- Thoroughly test SQL queries to avoid common errors.
- Select the most efficient solution to complex SQL problems.
-
Advanced SQL Course Prerequisites
This is an advanced course, and knowledge of the basics of SQL at the level of Learning Tree course 925, Introduction to SQL Course, or equivalent is assumed.
Advanced SQL Course Instructor-Led Outline
Module 1: Introduction and Overview
SQL fundamentals
- Why SQL can be both easy and difficult
- Recommendations for thorough testing
Retrieving data with SELECT
- Expressions
- Literals
- Handling NULLs properly
Executing queries
- Analyzing query plans
- Enhancing query performance
- Retrieving partial results with FETCH and OFFSET
- Selecting the best alternatives
- Avoiding errors and pitfalls
Module 2: Querying Multiple Tables
Implementing various types of joins
- Inner joins
- Cross joins
- Left, right, and full outer joins
- Equijoins vs. theta joins
- The performance implications of joins
- Adding filter conditions to outer joins
Writing self joins
- Joining a table to itself
- Chaining self joins
- Solving time-interval problems
Combining queries with set operators
- UNION
- UNION ALL
- INTERSECT
- EXCEPT
Module 3: Aggregate Functions
Summarizing data with aggregate functions
- COUNT
- SUM
- AVG
- MIN
- MAX
- Managing NULLs
- identifying duplicates
Grouping data
- GROUP B
- Applying conditions with HAVING
- Calculating moving averages
- Building crosstab reports
Extending group queries
- Nesting grouped aggregates
- Joins and grouping
- Introducing subtotals with CUBE and ROLLUP
Module 4: Performing Extensive Analysis with Analytic Functions
The OVER clause
- Specifying the ordering before applying the function
- Splitting the result set into logical partitions
Calculating ranks
- RANK and DENSE_RANK
- ROW_NUMBER with ordered sets
- Calculating percentiles
Extending the use of aggregates
- Partitioning in multiple levels
- Computing running totals
- Comparing row and aggregate values
- Top-N queries
- Defining sliding window boundaries
Module 5: Building Subqueries
Self-contained subqueries
- Subqueries in conditions and column expressions
- Creating multilevel subqueries
- Avoiding problems when subqueries return NULLs
- Handling multirow subquery results
- Finding gaps in number series
Correlated subqueries
- Accessing values from the outer query
- EXISTS vs. IN
- Identifying duplicates
- Avoiding accidental correlation
Common table expressions
- Reusable subqueries
- Recursive subqueries
- Traversing hierarchies
Module 6: Breaking Down Complex Queries
- Overcoming SQL limitations
- Reducing complexity and improving performance
Private Team Training
Interested in this course for your team? Please complete and submit the form below and we will contact you to discuss your needs and budget.
- choosing a selection results in a full page refresh