Introduction to SQL

Level:

Beginner

Duration:

3 days

Dates & Duration

See available dates for this course!
If there is no date and time available for a certain training you are interested in, please contact us.

See dates  >>

This training can also be held at your location, or as online training specifically tailored for your company. In this case, the course agenda can also be adapted to best suit your needs.

Learn more about our customized training >>

 

This course takes 3 days – 8 hours per day (on site) or 5 hours per day (online).
The only difference is that there will be less practical exercises in an online course. However, we can share them with you so you can do them on your own. You can ask our consultants for feedback or help, if needed.

Audience

This workshop has been designed for people who want to get familiar with SQL and PostgreSQL. You will learn how to use PostgreSQL and how to write proper SQL statements. We start with basic topics like normalization, foreign keys and work our way step by step to topics like joins, subselects, analytics and co. The aim is to teach the participants SQL needed for working with PostgreSQL using practical examples and thus give them the tools for their daily work.

Available Language

This course can be held in English, German, Spanish, Polish, Estonian, Ukrainian and Russian.

Content

Day 1

Installing PostgreSQL

  • Connection to the database
  • Usage of pgAdmin4 and similar tools

Relational data models

  • Normalization
  • Creating tables and using data types
  • Primary Keys and Foreign Keys
  • Check constraints

Basic SQL commands

  • INSERT: Insert data
  • SELECT: Simple queries
  • UPDATE: Modify data
  • DELETE and SELECT: Delete data
  • Filter data
  • NULL Handling
  • Sort data with ORDER BY
  • LIKE queries
  • UNION ALL, UNION, EXCEPT
  • DISTINCT and DISTINCT ON
  • LIMIT and OFFSET

Day 2

Aggregate functions

  • Aggregate data (count, sum, etc.)
  • Minimum and maximum values
  • Group data (GROUP BY … HAVING …)
  • Use ordered sets (WITHIN GROUP …)

Subqueries and CTEs

  • Nested queries
  • Common Table Expressions (CTEs)
  • Use IN and NOT IN
  • EXISTS and NOT EXISTS

Joins

  • Understand inner joins
  • Use outer joins
  • Semi joins, anti joins

Date

  • Calculating with date and time
  • Understanding intervals
  • Include range types

Day 3

Windowing and Analytics

  • OVER-clauses
  • Partitioning
  • Define sliding windows
  • Important analytical functions (rank, lag, etc.)
  • Time series analysis

Views and materialized views

  • Basic views
  • Dependency handling
  • Using materialized views

Transactions

  • BEGIN, ROLLBACK
  • Row locking and table locking
  • Transaction isolation levels (read committed, etc)
  • SELECT … FOR UPDATE
  • Deadlocks

Cursor

  • Declare cursor
  • WITH HOLD cursor

Indexing

  • Creating and deleting indexes
  • Identify missing indexes
  • Avoiding unnecessary indexes