Practical SQL Skills from Intermediate to Advanced
4.0 (230 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,353 students enrolled

Practical SQL Skills from Intermediate to Advanced

Improve your SQL skills and step up to the next level to learn more and take full command of SQL
4.0 (230 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,353 students enrolled
Created by Gary Kind
Last updated 1/2016
English [Auto-generated]
Current price: $20.99 Original price: $29.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4 hours on-demand video
  • 15 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Understand more advanced SQL Server features
  • How to apply these techniques to real world problems
  • Enhance your SQL Skills
  • A good understanding of basic SQL
  • Microsoft SQL Server Express (free download and the course explains everything)

This course is designed to further your understanding of structured query language (SQL) for manipulating business data.

Once you have the basics mastered you can take your knowledge to the next level to fully harness the power of Microsoft SQL Server as well as look at how to maximise the performance of any SQL that you write.

The course contains walk through videos, printed documents of the course material as well as links to resources you need to be able to carry out the course.

The course does assume a good working knowledge of SQL to get the most out of this course. If you want an introductory course then I have also authored a course for beginners (

If you need to access any data be it online or within your own company then this course is for you. Financial systems form the hub of any business these days and many job roles require some level of SQL ability. This course will equip you with the knowledge you need to perform these tasks within your business or employment to improve your prospects.

Most business systems utilise some form of SQL database, typically Microsoft SQL Server which is why this course focuses on that particular product. Additionally we can download a free 'express' version of the product to work through the course.

Who this course is for:
  • Those looking to build upon their basic SQL skills
  • Employees looking to increase their knowledge and add value to a business
  • Business owners looking to full harness the data within their business
Course content
Expand all 35 lectures 03:48:39
+ Introduction
7 lectures 23:33

Introduction to the course.

Preview 04:24

Run OS X on an iMac or Macbook? Can you run MSSQL on it? Well Yes and No, this video explores your options.

Preview 01:07

Where to download Microsoft SQL Server 2008 Express edition and sample data. Be sure to check out the Links document which has all the download links.

Preview 02:36

We'll go through the installation process for getting MSSQL setup on your machine.

Preview 02:06

I have generated a custom dataset called 'Nile Trading' which has millions of rows. We can use this to see the effect of any optimisations.

Installing Our Large Dataset (Nile Trading) Database

We are using a large dataset which was generated using a tool, here we look at that tool.

Generating a Large Amount of Data

Here we look at standards in terms of style and coding convention. Not necessarily the 'correct' way but why I do what I do and hopefully makes everything easier and more readable for everyone!

Coding and Style Conventions
+ Additional JOINs
2 lectures 09:05

You can join the same table to itself. Useful when a table contains self-referencing keys, here we look at one such scenario.

Self JOINs
+ Modifying Data
3 lectures 12:43

How to add multiple records using INSERT with SELECT.


When doing an UPDATE that relies on a value in a another table we need to do an UPDATE with a JOIN, this video explains how.


The DELETE with JOIN is similar to the update with join and here is an example.

+ Importing Data
2 lectures 26:48
Import data from CSV

MERGE is a powerful statement that combines INSERT, UPDATE and DELETE into one command. Here we look at using it to transfer data from our staging table to our live table.

Using MERGE Statement
+ Aggregation
2 lectures 11:24

CUBE and ROLLUP allow us to add sub-totalling and totalling to our result sets. Here we examine them.


Grouping Sets allow us to control what sub-totals appear on the report, its a more flexible approach than cube or rollup.

+ Indexes, Keys and Constraints
3 lectures 18:02

Here we take a look at clustered and non-clustered indexes.

Indexing and Index Types

This video explains what primary and foreign keys are and their purpose.

Primary and Foreign Keys

Constraints are used to restrict the allowable values within a column. This video explains a couple of different ways of using constraints and using them to provide default values.

+ Views, Common Table Expressions and Windowed Functions
5 lectures 31:26

Here we look at how to create a VIEW and why you would use one.


Here we look at common table expressions, or CTEs starting with a simple example.

Common Table Expressions Part 1

A typical use case for a cte is when navigating hierarchical data. This lecture shows an example of this.

Common Table Expressions Part 2

We look at row numbering and how to rank data.


NTILE is used to segment data, here we look at an example.

Deciles and Quartiles with NTILE
+ Triggers and Temporary Tables
2 lectures 25:54

We look at creating 3 triggers to add business logic to our database.

Introducing Triggers

SQL Server supports the concept of 'temporary' tables. Here we explain what they are.

Temporary Tables
+ TransactSQL for Stored Procedures and Functions
4 lectures 39:16

An introduction to TransactSQL.

Writing TransactSQL Part 1

Here we look at transactions and how do handle errors in TRY..CATCH

Writing TransactSQL Part 2 (transactions and try/catch)

SQL supports table and scalar value functions, here we look at table based functions.

Table Functions

Scalar functions return a single value and can be used as a column in a SELECT query. Here we go through an example of this this type of function.

Scalar Functions
+ Performance Tuning
3 lectures 25:41

We look at some basic ways to optimise the performance of our queries and dive into execution plans.

Basic Optimisation Tips

Some more on optimisation including covering indexes and 'dirty reads'

More Optimisation

How we can create a physical (materialised) view instead of a view which is a virtual table.

Indexed Views