Introduction to SQL Databases - SQL for Beginners
4.7 (49 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.
171 students enrolled

Introduction to SQL Databases - SQL for Beginners

Mastering the language of databases - learning Structured Query Language using Microsoft SQL Server.
4.7 (49 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.
171 students enrolled
Created by David Medlock
Last updated 1/2020
English [Auto]
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 8 hours on-demand video
  • 6 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
  • SQL Database Development with MIcrosoft SQL Server
  • Relational Database Management Systems (RDBMS)
  • Structured Query Language (SQL)
  • Microsoft SQL Server
  • Database Queries
  • Database Design using ERDs
Course content
Expand all 64 lectures 07:52:39
+ Installing Microsoft SQL Server & SQL Server Management Studio
4 lectures 29:04

Learn how to download and install the latest version of Microsoft SQL Server (Developer Edition) on your local computer in order to complete the labs and exercises in this course.

Installing SQL Server

Learn how to install SQL Server Management Studio (SSMS), which is the interface we will use throughout the course to interact with our SQL Server database.

Installing SQL Server Management Studio

Here, we take a tour of the functionality that SQL Server Management Studio (SSMS) gives us for interacting with our database, including how to explore our database structure, create tables, and run queries in SSMS.

SQL Server Management Studio (SSMS) Tour

We create our first SQL Server database, which we will use throughout the remainder of the course for our labs and exercises.

Creating our First Database
+ DataBASICS: Relational Database Building Blocks
15 lectures 01:59:19

In this overview, we introduce the concepts of tables, rows, columns, primary keys, and foreign keys. We will build on these concepts in subsequent lessons in this section.

Database Building Blocks Overview

In this lecture, we discuss the structure of a table and the importance of primary keys (identity fields, composite primary keys) for uniquely identifying records (rows) within a database table.

Tables & Primary Keys

In our first lab in this course, we create a simple table and add some data to it to learn how the database handles tables and primary keys.

LAB 1: Tables & Identity Field Primary Keys

In this lab, we learn how to create a table with a composite primary key which uniquely identifies each row in our table based on a combination of multiple columns in the table.

LAB 2: Tables & Composite Primary Keys

In this lab, we create a table that has a uniqueidentifier (GUID / UUID) primary key field and uses the NEWID() function to populate it automatically when a new record is created.

LAB 3: Tables & GUID/UUID Primary Keys

An overview of database columns and data types that can be used for storing data in columns within our tables.


In this lab, we explore the Microsoft SQL Server documentation website to learn about the different data types available for us to use when building our tables and what the differences are between some of the most common data types.

LAB 4: Column Data Type Documentation

In this lab, we create a table with a variety of columns with different data types and we explore how to populate data in these columns, along with reviewing NULL and Non-NULL columns, column default values, and some common errors we may encounter when working with columns in our database.

LAB 5: Specifying Column Data Types

In this lab, we look at the differences in how SQL Server stores certain types of data based on the column's data type.

LAB 6: Column Data Type Sizes & Differents

In this lab, we look at common errors that can occur when we try to store data in a column that doesn't match the appropriate data type or when we try to populate a non-nullable column with a null value.

LAB 7: Mismatched Data Types in Columns

How well do you know columns and data types?

Got It? Columns and Data Types
4 questions

We spend some time getting an overview of what foreign keys are and why they're important to use correctly when designing our database, including an introduction to the concept of Referential Integrity within a databse.

Foreign Keys

In this lab, we create multiple tables and define foreign key relationships between them. We then examine what happens when we try to create or delete data in such a way that would violate the integrity of these relationships.

LAB 8: Foreign Keys & Referential Integrity

This lab examines how we can create a foreign key relationship between a table and itself, for example when creating a hierarchical structure within our database, and how the database will enforce these relationships the same way it does a foreign key between two different tables.

LAB 9: Foreign Keys Within the Same Table

We review keywords that we should avoid using when we name our tables and columns in order to avoid potential issues or conflicts with special keywords in the database. We see how to research "reserved words" that have special meaning within the database.

Naming Our Database Objects & Reserved Words

We discuss why it's important to establish standards for how we name tables and columns within our database so that we can maintain consistency in our database structure and make it easy for others to understand our structure.

Standardizing Naming Conventions
+ Introduction to Structured Query Language (SQL)
4 lectures 31:48

Learn what Structured Query Language is and why it's important to know when interacting with SQL databases.

Introduction to SQL

We see how SQL Server Management Studio allows us to generate the SQL commands that it uses to perform actions in the database, like creating tables.

LAB 10: Generating SQL with SQL Management Studio

We explore using SQL Server Management Studio to generate more advanced SQL commands for objects in our database and we see how we can then run and modify that SQL to alter the way our database functions.

LAB 11: More SQL Exploration
Mid-Course Break
+ Planning and Designing Our Database
5 lectures 31:49

An introduction to the process of planning a database structure (schema).

Planning & Designing Our Database

Here, we review our database requirements for the database we're going to build to support the labs and exercises in the rest of the course.

Database Requirements for Data Dweebs V1

In this lecture, we talk about how to think of our database as a hierarchy of entities that we connect through relationships. We highlight the hierarchy of tables that we will use to create our database structure.

Database Design Approach

We review some key terms that will help us as we create our Entity Relationship Diagram for our database.

Entity Relationship Diagrams (ERDs) and Other Key Terms

In this lab, we outline the structure of the database we want to create and then use Lucid Chart to create the Entity Relationship Diagram (ERD) for our database.

LAB 12: Creating Our Entity Relationship Diagram (ERD)
+ Creating Our Database Structure
5 lectures 23:52

We review how we will create tables and relationships for our database using SQL Server Management Studio.

LAB 13: Creating Our Database Structure in SSMS

We review the GitHub repository for the course, where the code we need for creating and populating our database can be found.

LAB 14: GitHub Repository for the Course

We review the SQL Fiddle tool and how we can create our database structure using it.

LAB 15: SQL Fiddle

In this exercise, you'll create your database schema for the rest of the course.

EXERCISE: Create the Database Schema

Here, we review the database schema that we created during the exercise.

LAB 16: Database Schema Exercise Review
+ Getting Data Into the Database
3 lectures 32:16

We cover the basics of how to insert data into your database tables.

LAB 17: INSERT Statements Part 1

In this lab, we get into details about inserting data and the errors we might encounter in some situations as well as using defaults and comparing how the database stores our data for different types of columns.

LAB 18: INSERT Statements Part 2
LAB 19: Seeding our Project Database
+ Getting Data Out of the Database
17 lectures 02:47:47

Develop essential knowledge of SELECT statements for extracting data from tables.

LAB 20: SELECT Statements

Test your abilities with basic SELECT statements by running queries to find the answers.

Got It? Basic SELECT Statements
4 questions

Filter your SELECT statements using criteria defined in a WHERE clause.

LAB 21: WHERE Clauses, Part 1

Filtering query results when your table has columns that contain NULL values.

LAB 22: WHERE Clauses, Part 2

Using multiple criteria in your WHERE clause to create more advanced queries, using AND, OR and parenthetical criteria.

LAB 23: Multiple Criteria in WHERE Clauses with AND/OR

Check your skills with WHERE clauses to filter query results.

Got It? WHERE Clauses
5 questions

An overview of the different types of JOINs that you can use in your queries to select data from multiple tables including INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN, and CROSS JOIN queries.

Introduction to JOINs

Get hands-on with INNER JOINs, selecting data from multiple tables where the tables have intersecting or overlapping records based on foreign key relationships.


Learn how to select all the records from one table and only matching records from a related table using LEFT and RIGHT OUTER JOINs in your SELECT statements.


Selecting all records from two related tables, even when there is no match between the two (in other words, combining a LEFT and RIGHT JOIN) by using a FULL JOIN. Selecting a Cartesian product from two tables using a CROSS JOIN.


Learn how to explicitly specify the sort order of your query results using the ORDER BY clause.

LAB 27: Sorting Query Results with ORDER BY Clauses

Learn how to use COUNT, SUM, AVG, MIN, and MAX functions coupled with the GROUP BY and HAVING clauses to get summary data from one or more tables and to filter results based on aggregated data.

LAB 28: Aggregate Functions & Grouping

Learn how to limit the results your query returns using TOP statements.

LAB 29: TOP Statements

Learn how to select unique values from one or more columns using the DISTINCT statement.

LAB 30: DISTINCT Statements

Learn how to return information conditionally based on values in columns using CASE statements.

LAB 31: CASE Statements
EXERCISE: Utilization Report Requirements

We review the solution for the utilization report we needed to develop as part of our exercise.

EXERCISE: Utilization Report Solution

We review the requirements for the Invoice Report we need to create for this exercise.

EXERCISE: Invoice Report Requirements

We review the solution for the invoice report we needed to create in our exercise.

EXERCISE: Invoice Report Solution
+ Modifying Data in the Database
2 lectures 13:02

We review how to modify data in a database using UPDATE statements and WHERE clauses.

LAB 32: UPDATE Statements

Learn how to remove data from a table in a database using the DELETE statement.

LAB 33: DELETE Statements
  • No prior knowledge or experience required

Structured Query Language (SQL or "Sequel") is the way we communicate with a relational database. It's an intuitive and powerful language and mastering it is rapidly becoming a prerequisite for career paths outside of software development.

SQL has been one of the most common skill sets required by employers for software developers for years, according to research published by Indeed. That fact is not likely to change any time soon, as businesses have woken up to the reality that the data they capture, generate, and store has tremendous business value to improve performance and efficiency and uncover new paths for growth.

If you're a software developer just getting started, a Business Analyst, a Test Engineer, Project Manager looking to augment your technical skill set, or a data or financial analyst who works primarily with spreadsheets, you'll benefit from taking this course to learn how you can power up your data skills. We start from the ground up to teach you what a relational database is, how to plan and build a database structure, how to get data into your database, and then how to work with it to retrieve meaningful insights using SQL.

In this course, you will learn:

  • What a Relational Database is

  • How to install Microsoft SQL Server and SQL Server Management Studio on your local computer

  • How to use SQL Server Management Studio to create, explore, and query a database

  • How to research SQL Server functionality using the online documentation

  • Database Design Techniques including how to diagram a database using an Entity Relationship Diagram (ERD)

  • The basic database structures: tables, columns, data types, primary keys, and foreign key relationships

  • Best practices for how to name your database elements (objects)

  • How to learn SQL by automatically generating queries and SQL statements with SQL Server Management Studio

  • Inserting data into tables using the INSERT statement

  • Retrieving and filtering data using SELECT statements and WHERE clauses

  • Extracting data from multiple tables with a single query using INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, and CROSS JOIN statements

  • Sorting query results

  • Aggregating data with aggregate functions like SUM and COUNT and GROUP BY clauses (very important for building reports and summarizing data!)

  • Updating and deleting data with UPDATE and DELETE statements

This course is very hands on! It is structured as a series of lectures to help you understand what we'll do with labs, exercises, and quizzes along the way so that you're involved right from the start.

Who this course is for:
  • Beginning Developers who need to use SQL in their applications
  • Business Analysts, Project Managers, or Test Engineers/Analysts who want to extend their skill set and advance their careers
  • Data and Financial Analysts who want to use SQL databases to level up their game
  • Anyone interested in a career in data analytics, data science, or software development