Canadian Academy of IT

SQL Intermediate to Advanced

Broadened your understanding of SQL, improve your skills and expand your knowledge
  • Intermediate
  • Online Classes
  • Total 12 hours in class
  • SQL Intermediate to Advanced


You should have a prior understanding of SQL to attend this course. Our Introduction to SQL training course covers all of the prerequisites for this Intermediate to Advanced SQL course.

Class Details

This course is designed to further your understanding of structured query language (SQL) and improve your skills and expand your knowledge. Our Intermediate to Advanced SQL course builds upon the skills learnt in our Introduction to SQL course. It covers windowing, CTEs, dynamic SQL, logical functions, control flow, creating user-defined functions, stored procedures and cursors. You'll also learn how to improve query performance, transaction processing and error handling.

Course Outline

  1. Setting Up a SQL Server Environment
    • Setting up Databases
    • IF an object EXISTS
  2. Built-In Functions
    • Introduction to Built-In Functions
    • Using System Functions
    • Conversion Functions - CAST and CONVERT
    • Using Mathematical functions
    • Using String Functions
  3. Date and Time Functions
    • DAY, MONTH and YEAR
    • Using CONVERT to format a date/time
  4. Subqueries
    • Introduction of Subqueries
    • Subqueries vs Joining Tables
    • Subqueries with Comparison Operators
    • Subqueries with IN and NOT IN Operators
    • Subqueries with EXISTS and NOT EXISTS
  5. Multi-Table Queries
    • Joining Tables
    • INNER JOIN with more than two Tables
  6. Aggregate Functions and Group by Extensions
    • Using CASE with aggregate functions
    • Using PIVOT operator
  7. Windowing
    • Ranking Functions
  8. Common Table Expressions (CTE)
    • Introduction to CTE
    • Non-Recursive CTE
    • Recursive CTE
    • When to use CTEs, and When not to
  9. Dynamic SQL
    • Introduction to Dynamic SQL
    • Using sp_executesql
    • Using Output parameters with sp_executesql
    • Temp tables in Dynamic SQL
  10. Temporary Tables and Table Variables
    • Using temporary tables
    • Creating table variables
  11. Logical Functions
    • Using IIF Function
    • Using CHOOSE
    • Using GREATEST and LEAST
    • Using CASE
  12. Local & Global variables
    • Introduction to variables
    • Variable data types
    • Local variables
    • Using Global variables
  13. Control of Flow
    • IF...ELSE
    • BEGIN...END
    • Using WHILE loops
  14. User-Defined Functions - UDFs
    • Introduction to UDFs
    • Creating a Scalar-Valued Function
    • Creating an Inline Table-Valued Function
  15. Stored Procedures
    • Introduction to Stored Procedures
    • Creating User Stored Procedures
    • Stored Procedure with Parameters
  16. Transaction Processing
    • Introduction to Transaction Processing
    • Working with BEGIN TRANSACTION
    • Working with COMMIT & ROLLBACK
    • Using the TRANCOUNT Global Variable
  17. Query Performance
    • Improving query performance
    • Clustered Indexes
    • Non-Clustered Index

Request for Course Dates and Booking

Do you have a special training requirement or unable to find any suitable training date? Please complete and submit the booking request form, if you want to:

  • book a course on different dates
  • book for a group of delegates
  • book corporate training
  • book a customised training
  • book a one-on-one training

The price person is less when you book a course for more people. You can find the price per person and the total cost by changing the values of the training hours and the number of people below:

Subscribe to our newsletter

Sign up for our newsletter, so you can be the first to find out the latest news and tips about our classes, as well as general updates throughout the year.