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.5 (24 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
400 students enrolled
Instructed by Gary Kind IT & Software / Other
50% off
Take This Course
  • Lectures 35
  • Length 4 hours
  • Skill Level Intermediate Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 7/2015 English

Course Description

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.

What are the requirements?

  • A good understanding of basic SQL
  • Microsoft SQL Server Express (free download and the course explains everything)

What am I going to get from this course?

  • Understand more advanced SQL Server features
  • How to apply these techniques to real world problems
  • Enhance your SQL Skills

Who is the target audience?

  • 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

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction

Introduction to the course.


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


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.


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


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.


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


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!

Section 2: Additional JOINs

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

Section 3: Modifying Data

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.

Section 4: Importing Data
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.

Section 5: Aggregation

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.

Section 6: Indexes, Keys and Constraints

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


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


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.

Section 7: Views, Common Table Expressions and Windowed Functions

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.


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


We look at row numbering and how to rank data.


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

Section 8: Triggers and Temporary Tables

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


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

Section 9: TransactSQL for Stored Procedures and Functions

An introduction to TransactSQL.


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


SQL supports table and scalar value functions, here we look at table based 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.

Section 10: Performance Tuning

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


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


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

Section 11: Wrap-Up

A recap of what we covered in the course.


Some additional resources for help and guidance.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Gary Kind, Developer, Author, Marketeer

Gary Kind is a highly experienced IT professional and business owner with over 25 years in and around software development and 20+ years running businesses as an individual and in partnerships.

He has a wide spread of business knowledge working in the SME sector as well as delivering KPI and financial reporting for large corporations. He has spent the past few years combining marketing with IT to cover areas such as pay per click, copywriting and conversion optimisation.

Ready to start learning?
Take This Course