Introduction to the Course

Get a brief overview of the course, its prerequisites, and the intended audience.


There is almost no application that does not rely on data storage. Whether it’s user preferences or application states, data must be stored reliably and securely. The Microsoft SQL Server (MS SQL Server) is one of the most popular database management systems (DBMS). This DBMS is suitable for various projects—from small applications to large high-load systems. At one point in time, SQL Server was exclusive to Windows. But since version 16 was released, this system has also been made available on Linux and other platforms. As the importance of data increases, the demand for people who can work with data stored in databases increases as well. T-SQL, in this context, is very important because of its strong connection with the MS SQL Server.

Why use T-SQL?

It is important to understand that a DBMS is not a database, but is a system that helps developers administer and work with databases.

There are two options available when it comes to interacting with databases in MS SQL Server:

  • A specialized UI tool, such as Microsoft SQL Server Management Studio, can perform most tasks without writing code.
  • We can write and execute T-SQL queries for more complex operations, or if we want our programs to interact with a database.

T-SQL queries are a more flexible way of interacting with MS SQL Server. They are essential in developing an application that connects to an MS SQL Server database. It is virtually impossible to perform the following tasks without T-SQL:

  • Connecting an application to a database in MS SQL Server.
  • Reading data from a database.
  • Creating and using stored procedures, functions, and other database objects.

This is why knowledge of T-SQL is a valuable asset in any developer’s toolkit.

This course will teach readers about Transact-SQL (T-SQL), a dialect of SQL used in MS SQL Server. By the end of the course, we’ll have gained enough knowledge to effectively perform our database-related tasks as software engineers. We’ll cover the following topics:

  • Creating databases
  • Creating tables
  • Inserting, updating, and deleting data from tables
  • Selecting and filtering data
  • Selecting data from multiple tables
  • Subqueries
  • Common Table Expressions
  • Programming for MS SQL Server

The course is not an exhaustive reference, but demonstrates how to complete software engineers’ most common tasks. The content of the course is enough for most developers, and it serves as a strong foundation for further study. Where possible, descriptions of the concepts are accompanied by code samples for practice and study.

Intended audience

This course starts with simple T-SQL concepts and concludes with more advanced topics. However, it does not cover relational databases and how they differ from other types of data stores. The course also does not teach introductory programming concepts. Therefore, the target audience for this course is software engineers who already have some experience writing applications, but haven’t worked with MS SQL Server databases.


The course does not assume any previous experience with T-SQL. However, readers are expected to have the following skills:

  • A basic understanding of SQL.
  • Be articulate in basic programming concepts, like loops, functions, and conditionals.
  • Understand common data types, like strings, booleans, and integers.