Querying Microsoft® SQL Server® 2012


This 5-day 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; namely, Database Administration, Database Development and Business Intelligence. This course helps people prepare for exam 70-461. Many of the exercises in this course are SQL Azure enabled.


Course Code:




Before attending this course, students must have:

  • Working knowledge of relational databases.
  • Basic knowledge of the Microsoft Windows operating system and its core functionality.

Module 1:

Discusses editions, versions, tools used to query, documentation sources, and the logical structure of databases.


SQL Server Denali Architecture
Working with SQL Server Denali Tools
Working with SQL Server Databases
Module 2:

Introduction to Transact-SQL QueryingThis 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.


Introducing Transact-SQL
Understanding Sets
Understanding Predicate Logic
Understanding the Logical Order of Operations in SELECT Statements

Module 3:

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


Writing Simple SELECT Statements
Eliminating Duplicates with DISTINCT
Using Column and Table Aliases
writing Simple CASE Expressions

Module 4:

Querying Multiple TablesThis moduleexplains how to write queries which combine data from multiple sources in SQL Server.The moduleintroduces the use of JOINs in T-SQL queries as a mechanism for retrieving data from multiple tables.


Understanding Joins
Querying With Inner Joins
Querying With Outer Joins
Querying Using Self and Cross Joins
Module 5:

Sorting and Filtering DataThis module explainshow to enhance queries to limit the rows they return, and to control the order in which the rows are displayed.The module also discusses howto resolvemissing and unknown results.


Sorting Data
Filtering Data
Filtering with the TOP and OFFSET-FETCH Options
Working with Unknown Values

Module 6:

Working with SQL Server Denali Data TypesThis module explainsthe data types SQL Server uses to store data. Itintroduces the many types of numeric and special-use data types.It also explainsconversions between data types, and the importance of type precedence.


Introducing SQL Server Denali Data Types
Working with Character Data
Working with Date and Time Data

Module 7:

Using Built-In FunctionsThis 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.


Writing Queries with Built-In Functions
Using Conversion Functions
Using Logical Functions
Using Functions to Test for Nullability

Module 8:

Grouping and Aggregating DataThis 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.Lessons
Using Aggregate Functions
Using the GROUP BY Clause
Filtering Groups with the HAVING Clause

Module 9:

Using SubqueriesThis 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.

Writing Self-Contained Subqueries
Writing Correlated Subqueries
Using the EXISTS Predicate with Subqueries

Module 10:

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

Table Expressions

Module 11:

Use Set OperatorsThis 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 : Use Set Operators
Write queries which use UNION set operators and UNION ALL multi-set operators
Write queries which use CROSS APPLY and OUTER APPLY operators
Write queries which use APPLY with derived tables and functions
Write queries which use EXCEPT and INTERSECT operators

Module 12:

Using Window Ranking, Offset and Aggregate FunctionsThis 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
Write queries which use ranking functions
Write queries which use offset functions
Write queries which use window aggregate functions

Module 13:

Pivoting and Grouping SetsThis 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
Write queries which use the PIVOT operator
Write queries which use the GROUPING SETS subclause
Write queries which use GROUP BY ROLLUP
Write queries which use GROUP BY CUBE

Module 14:

Querying SQL Server MetadataThis 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
Querying system catalog views
Querying system functions
Querying system dynamic management views

Module 15:

Executing Stored ProceduresThis 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
Use the EXECUTE statement to invoke stored procedures
Pass parameters to stored procedures
Return results from a stored procedure using the OUTPUT clause
Execute system stored procedures

Module 16:

Programming with T-SQLThis 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
Declaring variables and delimiting batches
Using control of flow elements
Generating dynamic SQL
Using synonyms

Module 17:

Implementing Error HandlingThis 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 statementLab : Implementing Error Handling
Redirecting errors with TRY/CATCH
Creating error handling routines in a CATCH block with ERROR functions
Using THROW to pass an error message back to a client

Module 18:

Implementing TransactionsThis 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
Controlling transactions with BEGIN and COMMIT
Adding transaction handling logic to a CATCH block

Module 19:

Improving Query PerformanceThis 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
Viewing query execution plans
Using SET STATISTICS statements
Viewing index usage
Comparing cursors to set-based queries


After completing this course, students will be able to:

  • Write SELECT Queries
  • Query Multiple Tables
  • Use Built-In Functions
  • Use Subqueries
  • Execute Stored Procedures
  • Use Set Operators
  • Implement Error Handling
  • Implementing Transactions
  • Use Table Expressions
  • Sort and Filter Data
  • Use Window Ranking, Offset and Aggregate Functions
  • Query SQL Server Metadata
  • Program with T-SQL
  • Improve Query Performance
Target Audience

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.

vendors Course Code Course Title Days Date
Microsoft Training in UAE
M10774 Querying Microsoft® SQL Server® 2012 5 View All Dates

This public courses are pre-scheduled throughout the year at our premises

Online, live and interactive training accessible from anywhere

We can deliver standard or customised training at any time and location that suits your employees

Guaranteed courses are confirmed to run on the specific dates shown