Skip to main content

Getting Started with SQL for Application Developers

Learn SQL basics from a developer's perspective.

  • Course Number

  • Self-Paced

  • Estimated Effort

    2 hours/week

About This Course

Although there are a variety of ways to interface with your database, many applications use Object-Relational Mapping (ORM) tools to hide a lot of the detail. ORM tools are powerful, but they aren’t perfect. Sometimes the queries they create are inefficient. Other times you need a complicated query that the ORM simply can’t handle. Some users even prefer to bypass an ORM completely, preferring the purity of raw SQL.

No matter which approach you take, there comes a point where you will need to understand basic SQL. When monitoring your database you need to understand the queries that are being executed against it, and potentially optimize them if they are inefficient. If you encounter a bug, you may need to query the database to capture the information you need to diagnose the problem. Sometimes a request is made that your application can’t provide and you need to run a simple query to pull the data out of the database. Or you may have discovered one of the cases your ORM doesn’t handle. In all of these situations, SQL will be the tool to pull you through.

In this course, you will learn some basic, single-table, SQL operations. Starting from a business use case, you will learn how to translate a simple entity/object into a corresponding database table. From there, you will see how you can populate that table with data and retrieve it afterward. By the end of the course, you should feel comfortable with taking your own simple entities, mapping them to your relational database, and performing basic queries.


  • Basic Programming Concepts (Objects, Fields, Data Types, Boolean Logic, etc)

Detailed course outline

  • Introduction
    • Lecture: Introduction
    • Quiz: Introduction
    • Virtual Environment
    • Setup a Serverless Cluster
    • Case Study - MovR
  • Creating a database
    • Lecture: Creating a Database
    • Quiz: Creating a Database
    • Exercise - Create the Database
  • Creating a table
    • Lecture: Data Types
    • Quiz: Data Types
    • Lecture: Creating Tables
    • Quiz: Creating Tables
    • Lecture: Primary Keys
    • Quiz: Primary Keys
    • Exercise - Create the Table
  • Inserting data
    • Lecture: The Insert Statement
    • Quiz: The Insert Statement
    • Exercise - Inserting Data
  • Reading data
    • Lecture: The Select Statement
    • Quiz: The Select Statement
    • Exercise - Reading Data
    • Lecture: Basic Filtering
    • Quiz: Basic Filtering
    • Exercise - Filtering Reads
  • Modifying existing data
    • Lecture: The Update Statement
    • Quiz: The Update Statement
    • Exercise - Updating Data
    • Lecture: The Delete Statement
    • Quiz: The Delete Statement
    • Exercise - Deleting Data
  • Indexes
    • Lecture: Indexes
    • Quiz: Indexes
    • Exercise - Creating Indexes
  • Final Exam
  • Conclusion

Course Staff

Wade Waldron
Wade Waldron
Senior Staff Curriculum Developer

Wade has been a Software Developer since 2005. He has worked on video games, backend microservices, ETL Pipelines, IoT systems and more.

He is an advocate for Test-Driven Development, Domain-Driven Design, Microservice Architectures, and Reactive Systems.