Introduction to Writing SQL Queries (TTSQL003)

SQL is the cornerstone of all relational database operations. In this hands-on course, you’ll learn how to employ the full potential of the SELECT statement to write robust queries using the best query method for your application. You’ll also test your queries and learn to avoid common errors and pitfalls. It also teaches alternative solutions to given problems, enabling you to select the most efficient solution in each situation. The course describes the ANSI/ISO SQL standard, but also identifies deviations from the standard in the two most widely used database products, Oracle and Microsoft SQL Server.

Retail Price: $1,795.00

Next Date: Request Date

Course Days: 3


Request a Date

Request Custom Course


WHAT YOU'LL LEARN

Join an engaging hands-on learning environment, where you’ll learn:

  • 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

WHO SHOULD ATTEND?

This course is for professionals who are developing applications using relational databases or who are using SQL to extract and analyze data from databases and want to use the full power of SQL queries.

PREREQUISITES

You should have a basic understanding of SQL.


COURSE OUTLINE

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 partly results with FETCH and OFFSET
  • Selecting the best alternatives
  • Avoiding errors and pitfalls
  • 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
  • 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
  • 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

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
  • Breaking Down Complex Queries
  • Overcoming SQL limitations
  • Reducing complexity and improving performance


Sorry! It looks like we haven’t updated our dates for the class you selected yet. There’s a quick way to find out. Contact us at 502.265.3057 or email info@training4it.com


Request a Date