70-461, 761: Querying Microsoft SQL Server with Transact-SQL
4.5 (4,544 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.
22,257 students enrolled

70-461, 761: Querying Microsoft SQL Server with Transact-SQL

From Tables and SELECT queries to advanced SQL. SQL Server 2012, 2014, 2016, 2017, 2019, exams 70-461 and 70-761
4.5 (4,544 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.
22,257 students enrolled
Created by Phillip Burton
Last updated 6/2020
English, French [Auto], 2 more
  • Italian [Auto]
  • Polish [Auto]
Current price: $119.99 Original price: $199.99 Discount: 40% off
2 days left at this price!
30-Day Money-Back Guarantee
This course includes
  • 29.5 hours on-demand video
  • 28 articles
  • 27 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
  • create tables in a database and ALTER columns in the table.
  • Know what data type to use in various situations, and use functions to manipulate date, number and string data values.
  • retrieve data using SELECT, FROM, WHERE, GROUP BY, HAVING and ORDER BY.
  • JOIN two or more tables together, finding missing data.
  • INSERT new data, UPDATE and DELETE existing data, and export data INTO a new table.
  • Create constraints, views and triggers
  • Use UNION, CASE, MERGE, procedures and error checking
  • Apply ranking and analytic functions, grouping, geography and geometry database
  • Create subqueries and CTEs, PIVOTs, UDFs, APPLYs, synonyms.
  • Manipulate XMLs and JSONs.
  • Learn about transactions, optimise queries and row-based v set-based operations
  • You need to know how to use a computer, and hopefully know how to use a spreadsheet.
  • No prior knowledge of SQL Server required.
  • SSMS cannot be installed on the Mac OS. If you wish to install it on a Mac, you will need either to dual boot into Windows or be running Parallel Desktop.
  • You don't even need SQL Server installed - I'll show you have to install it on your computer for free!
  • There is a 30-day money back guarantee of this Udemy course.
  • Why not have a look at the curriculum below and see what you can learn?

Previously available as seven separate courses, now presented in one big course.


"The instructor explain the things in great details. Very easy to follow." - Linda Shen

"Excellent course, valuable lessons, very well taught at a great pace." - Shane Tanberg

"Must get tutorial. Love it" - Hayford I Osumanu

"Perfect step by step guide to learning. Best I've seen." - Charles Schweiger

"This course is very well thought out. Its one of the better 70-461 courses on Udemy." - Isrrael M


This course is the foundation for the Microsoft Certificate 70-461: "Querying Microsoft SQL Server 2012" and 70-761 "Querying Data with Transact-SQL".

Session 1

The basics presented are: how to install SQL Server, and how to create and drop tables.

We then try to create a more advanced table, but find that we need to know more about data types - so we go into some detail about data types and data functions, the foundation of T-SQL.

Session 2

We'll create tables which use these, and then INSERT some data into them. Then we'll write queries which will retrieve and summary this data, using SELECT, FROM, WHERE, GROUP BY, HAVING and ORDER BY.

We'll then JOIN these tables together to find where we are missing data and where we have inconsistent data. We'll then UPDATE and DELETE data from the tables. This will allow up to fully complete objective number 1 from the 70-461 exam.

Session 3

We'll now use that data to create views, which enable us to store these SELECT queries for future use, and triggers, which allow for code to be automatically run when INSERTing, DELETEing or UPDATEing data.

We'll look at the database that we developed in session 2, and see what is wrong with it. We'll add some constraints, such as UNIQUE, CHECK, PRIMARY KEY and FOREIGN KEY constraints, to stop erroneous data from being added some data. By doing this, we will complete objectives 2, 3, 4 and 5 from the 70-461 exam

Session 4

We will further encapsulate our routines by creating procedures, allowing us to EXECUTE parameterised commands with just one statement, and we'll add some error handling with TRY, CATCH and THROW.

We'll also combine datasets together, by looking at UNION and UNION ALL, INTERSECT and EXCEPT, CASE, ISNULL and Coalesce, and the mighty MERGE statement. By doing this, we will complete objectives 11, 12, 13 and parts of 6 and 18 from the 70-461 exam.

Session 5

We'll will now be creating aggregate queries, working through objective 9 of the exam 70-461. We'll be reviewing the ranking functions ROW_NUMBER, RANK, DENSE_RANK and NTILE. We'll look at the 8 analytic functions news to SQL Server 2012, such as LAG, LEAD, FIRST_VALUE and LAST_VALUE.

We'll look at alternative ways of grouping and adding totals, using ROLLUP, CUBE, GROUPING SETS and GROUPING_ID. If you want to take the 70-461 exam, we'll also look at the geometry and geography data types, plotting locations on a grid, together with functions and aggregates.

Session 6

We'll will now be creating sub-queries, working through objectives 7b-e of the exam 70-461. We'll be created correlated subqueries, where the results of the subquery depend on the main query. We'll be looking at Common Table Expressions using the WITH statement, and we'll be using what we have learned to solve a common business problem.

We'll be looking at functions (objective 14), including the three different types of User Defined Functions (UDF): scalar functions, inline table functions, and multi-statement table functions. We'll then complete objective 6 by looking at synonyms and dynamic SQL, and objective 8 by looking at the use of GUIDs. We'll also look at sequences.

We'll have a look at XML. Finally, for SQL Server 2016 and later (exam 70-761), we'll examine JSON and Temporal Tables.

Session 7

In this session we'll be looking at transactions, seeing how to explicitly start and end them, and finding out how they can block other users in the database. Then we'll see about how to indexes and their role in optimising queries. 

We'll also see how we can use Dynamic Management Views to see how we can improve our use of indexes. We'll then look at how to write a cursor, and when to use this row-based operation, and the impact of using scalar UDFs.

No prior knowledge is required - I'll even show you how to install SQL Server on your computer for free!

There are regular quizzes to help you remember the information.

Once finished, you will know what how to manipulate numbers, strings and dates, and create database and tables, create tables, insert data and create analyses, and have an appreciation of how they can all be used in T-SQL.

Who this course is for:
  • This SQL course is meant for you, if you have not used SQL Server much (or at all), and want to learn T-SQL.
  • This course is also for you if you want a refresher on SQL. However, no prior SQL Server knowledge is required.
Course content
Expand all 274 lectures 29:43:58
+ Session 1 - Let's begin, and let's download SQL Server
8 lectures 34:48

Hello! In this video, I'll talk in general terms who this course is for, and what you will be learning today.

Preview 02:17
Welcome to Udemy

What more specifically we will cover in this course, and how this fits into the 70-461 exam.

Preview 09:31
Do you have Windows 7 or Windows Vista?

Here we will find the relevant SQL Server program, and what to download.

You will need download it to create your own statements and solidify your knowledge of T-SQL.

Preview 06:09

Step by step how to install the back engine of SQL Server on your computer.

Preview 09:45

Step by step how to install SQL Server Management Studio (SSMS) onto your computer.

Installing SSMS
+ Session 1 - Starting SQL Server
5 lectures 15:54
Opening SQL Server

Here we will see the main components of Management Studio, which is where we will do most of our work.

Preview 04:45

We will create a database, which will be used to hold all of the components of our work.

Preview 01:41

Our first queries, using mathematical calculations - SELECT and GO.

Creating our first queries

Now it's your turn. 

This exercise is to practice writing a query, and creating simple mathematical expressions.

Practice Activity Number 1 - Writing mathematical queries

This quiz is a brief test on what you have just learned.

Databases and Queries
2 questions
+ Session 1 - Creating tables - First pass
7 lectures 20:35

Here we will create a table using the graphical user interface

Creating a table - first pass using GUI

Here we will create a table using T-SQL using CREATE TABLE, GO

Creating a table - first pass using T-SQL

Two quick questions

New Tables
2 questions

We will use the Graphical User Interface to add data.

Entering data using the GUI

We will enter data in a table using T-SQL. INSERT

Entering data using T-SQL

Let's test what you've learned.

Entering data using T-SQL
1 question

Using the SELECT statement, and whether to use the semicolon.

Retrieving data

Let's test what you have learned.

Retrieving data
1 question

We will delete all the data using TRUNCATE, and then the table using DROP TABLE.

Deleting the data, then the table

Let's test what you have learned.

Deleting data using T-SQL
2 questions
Practice Activity Number 2
+ Session 1 - Number types and functions
11 lectures 01:11:12

We will recreate a table using T-SQL with multiple fields (EmployeeNumber and EmployeeName), and find why we need to expand on the information we learnt in the last section before we can proceed much further.

Creating an Employee table
Session 1 Resources

Using the DECLARE function in an SQL batch to create a temporary variable, setting it to a value, and then querying it.

Creating temporary variables

We will look at the four major integer types: tinyint, smallint, int and bigint [8a and 8b]. We'll also look at the +, -, *, / and ^ signs, and the danger of integer division (e.g. 3/2).

Integer numbers

Can you remember which is which? I will give you a few values, and I want you to give me the smallest integer type which will hold ALL these values.

Yes, bigint will hold all of these integers, but I want the SMALLEST type.

Integer numbers
5 questions
Practice Activity Number 3
Practice Activity Number 3 - Solution

Now it's turn for non-integer numbers: float and real, money and smallmoney, decimal and numeric.

Non-integer numbers

Let's test what you have just learned.

Non-integer numbers
3 questions

SQUARE, POWER and SQRT, FLOOR, CEILING and ROUND, PI and EXP, ABS and SIGN, RAND and trigonometric functions.

Mathematical functions

Quick questions.

Mathematical functions
2 questions

How to convert between integers and non-integer numbers - CAST and CONVERT.

Converting between number types

Quick question:

Converting between number types
1 question
Practice Activity Number 4
Practice Activity Number 4 - Solution
+ Session 1 - String data types and functions
8 lectures 53:31

We will look at the four major string types: char, varchar, nchar and nvarchar.


A few questions about what you have learned.

2 questions

Looking at how to extract strings - LEFT, RIGHT, SUBSTRING, LTRIM, RTRIM, REPLACE, UPPER and LOWER.

String Functions - extraction

A few questions about what you have learned.

String Functions - extraction
2 questions

What is NULL? Is it good, bad, or just plain necessary? Also, we'll look at TRY_CAST and TRY_CONVERT.

NULL - an introduction

Why a + sign doesn't always work, and how CONCAT is better. Also, converting from number data to strings.

Joining two strings or a string and number together

Some questions about NULL.

2 questions

We've seen how to join two strings together. Now, we need to convert a number to a string to join them together.

Joining a string to a number

Let's test your knowledge. You may have to think more carefully about the answers to the questions.

Joining numbers to strings
2 questions
Practice Activity Number 5
Practice Activity Number 5 - The Solution
+ Session 1 - Date data types and functions
6 lectures 42:10

The various non-offset date data types: datetime, datetime2, smalldatetime, time and date.

Date data types

Let's test your knowledge about date data types.

Date data types
3 questions
Using a computer language other than English?

Setting dates using quotation marks and DATEFROMPARTS, DATETIMEFROMPARTS and TIMEFROMPARTS, and YEAR, MONTH, DAY

Setting dates and Date extraction


Today's date, and more date functions

Let's see what you can remember.

Today's date and more date functions
2 questions


Date offset

A quick question to end this first session...

Converting from date to strings

A quick question to end this first session...

Converting from date to strings
1 question
+ Session 1 - Conclusion
2 lectures 01:56
BONUS - Review what you have learnt (PDF)
Well done!
+ Welcome to Session 2
3 lectures 02:32

I'll talk about what we learnt in Session 1, and what we will learn in this Session 2.

Preview 01:59
Spreadsheet Data
Session 2 Resources
+ Session 2 - Creating and querying part of a table
4 lectures 44:40

We will recreate the Employee table we tried to create earlier, and will consider what the appropriate data types should be used.

Creation of tblEmployee table

We will create a new column in existing tables , and then alter it.

Adding additional columns

We will use the WHERE clause to retrieve only part of a table, and the LIKE clause to use pattern matching.

SELECTing only part of a table - strings

A few questions, if I may.

SELECTing only part of a table - strings
2 questions

Still using the WHERE clause, we will use =, <, >, <=, >=, !, NOT, BETWEEN and IN.

Preview 09:40

Let's see what you remember about using the WHERE with numbers

SELECTing only part of a table - numbers
3 questions
+ Session 2 - Summarising and ordering data
4 lectures 43:21

We investigate the WHERE clause for dates, and use a date criteria to summarise data, using the GROUP BY clause, and then order it using the ORDER BY clause.

Summarising and ordering data

That's a lot to remember. Let's test yourself, and maybe learn a bit more!

Summarising and ordering data
2 questions

The GROUP BY reduced the number of rows to look at. What if we want to run criteria on this summary? We look at the HAVING clause.

Criteria on summarised data

It's important to get the clauses in the right order - let's see if you can remember them.

Criteria on summarised data
4 questions
Changing blank strings to NULLs

We do an exercise, based on what we have learnt so far.W