M10774 - Querying Microsoft SQL Server 2012 — A 5 day course

contact usEnquire about this course
Retired Course; no longer available


This course has been retired. Please review the M20461 Querying Microsoft SQL Server course instead.

The Microsoft M10774 instructor led course provides students with the technical skills required to write basic Transact-SQL queries for Microsoft SQL Server 2012. This course is the foundation for all SQL Server-related disciplines: Database Administration, Database Development and Business Intelligence.


On completion of the Microsoft 10774 training course, delegates should be able to:

Suitable For

This course is intended for Database Administrators, Database Developers, and Business Intelligence professionals. The course will very likely be well attended by SQL power users who aren't necessarily database-focused or plan on taking the exam; namely, report writers, business analysts and client application developers.

Follow-On Courses



This course helpscandidates prepare for exam 70-461.

Exam 70-461: Querying Microsoft SQL Server 2012: counts as credit toward the following certification(s):


This course has been retired and is no longer available.


Introduction to Microsoft SQL Server 2012

This module introduces the SQL Server platform and major tools. It discusses editions, versions, tools used to query, documentation sources, and the logical structure of databases.

Lab : Working with SQL Server 2012 Tools

Getting Started with SQL Azure

This module introduces you to the concepts of SQL Azure. If the virtual machines in your classroom are able to connect to the internet and you have a Windows Azure account you may be able to connect to your Azure server and database. Many of the labs in the rest of this course are enabled for you to perform the lab while connected to your own Azure database in the cloud.

Introduction to T-SQL Querying

This module introduces Transact SQL as the primary querying language of SQL Server. It discusses the basic structure of T-SQL queries, the logical flow of a SELECT statement, and introduces concepts such as predicates and set-based operations.

Lab : Introduction to Transact-SQL Querying

Writing SELECT Queries

This module introduces the fundamentals of the SELECT statement, focusing on queries against a single table.

Lab : Writing Basic SELECT Statements

Querying Multiple Tables

This module explains how to write queries which combine data from multiple sources in SQL Server. The module introduces the use of JOINs in T-SQL queries as a mechanism for retrieving data from multiple tables.

Lab : Querying Multiple Tables

Sorting and Filtering Data

This module explains how to enhance queries to limit the rows they return, and to control the order in which the rows are displayed. The module also discusses how to resolve missing and unknown results.

Lab : Sorting and Filtering Data

Working with SQL Server 2012 Data Types

This module explains the data types SQL Server uses to store data. It introduces the many types of numeric and special-use data types. It also explains conversions between data types, and the importance of type precedence.

Lab : Working with SQL Server 2012 Data Types

Using Built-In Functions

This module introduces the use of functions that are built in to SQL Server Denali, and will discuss some common usages including data type conversion, testing for logical results and nullability.

Lab : Using Built-In Functions

Grouping and Aggregating Data

This module introduces methods for grouping data within a query, aggregating the grouped data and filtering groups with HAVING. The module is designed to help the student grasp why a SELECT clause has restrictions placed upon column naming in the GROUP BY clause as well as which columns may be listed in the SELECT clause.

Lab : Grouping and Aggregating Data

Using Subqueries

This module will introduce the use of subqueries in various parts of a SELECT statement. It will include the use of scalar and multi-result subqueries, and the use of the IN and EXISTS operators.

Lab : Using Subqueries

Using Table Expressions

This module introduces T-SQL expressions which return a valid relational table, typically for further use in the query. The module discusses views, derived tables, common table expressions and inline table-valued functions.

Lab : Using Table Expressions

Using Set Operators

This module introduces operations involving multiple sets of data. It will cover the use of the UNION, UNION ALL, APPLY, CROSS APPLY, OUTER APPLY operators as well as the EXCEPT and INTERSECTS operators.

Lab : Using Set Operators

Using Window Ranking, Offset and Aggregate Functions

This module introduces window functions including ranking, aggregate and offset functions. Much of this functionality is new to SQL Server 2012. It will cover the use of T-SQL functions such as ROW_NUMBER, RANK, DENSE_RANK, NTILE, LAG, LEAD, FIRST_VALUE and LAST_VALUE to perform calculations against a set, or window, of rows.

Lab : Using Window Ranking, Offset and Aggregate Functions

Pivoting and Grouping Sets

This module discusses techniques for pivoting data in T-SQL as well to introduce the fundamentals of the GROUPING SETS clause. It will also cover the use of GROUP BY ROLLUP and GROUP BY CUBE syntax in SQL Server 2012.

Lab : Pivoting and Grouping Sets

Querying SQL Server Metadata

This module introduces the use of SQL Server system objects in T-SQL queries. It will cover the use of system catalog views, system stored procedures, system functions, and dynamic management objects.

Lab : Querying SQL Server Metadata

Executing Stored Procedures

This module introduces the use of existing stored procedures in a T-SQL querying environment. It discusses the use of EXECUTE, how to pass input and output parameters to a procedure, and how to invoke system stored procedures.

Lab : Executing Stored Procedures

Programming with T-SQL

This module provides a basic introduction to T-SQL programming concepts and objects. It discusses batches, variables, control of flow elements such as loops and conditionals, how to create and execute dynamic SQL statements, and how to use synonyms.

Lab : Programming with T-SQL

Implementing Error Handling

This module introduces the use of error handlers in T-SQL code. It will introduce the difference between compile errors and run-time errors, and will cover how errors affect batches. The module will also cover how to control error handling using TRY/CATCH blocks, the use of the ERROR class of functions, and the use of the new THROW statement.

Lab : Implementing Error Handling

Implementing Transactions

This module introduces the concepts of transaction management in SQL Server. It will provide a high-level overview of transaction properties, cover the basics of marking transactions with BEGIN, COMMIT and ROLLBACK.

Lab : Implementing Transactions

Improving Query Performance

This module introduces the concepts of system resource usage and the performance impact of querying SQL Server 2012. It will cover, at a high level, the use of indexes in SQL Server, the use of execution plans in SQL Server Management Studio, and the use of SET options to view system resource usage when executing queries. It will also compare set-based operations with cursor-based operations.

Lab : Improving Query Performance