icon icon

SQL intermediate

icon

Training process

Training needs analysis

If you have specific requirements regarding the training programme, we will carry out a training needs analysis for you. This will guide us on which aspects of the programme should receive greater emphasis, so that the training programme meets your specific needs.

What will you gain?

icon

Confident data changes - You will learn how to insert, update, and delete data safely in more complex scenarios, so you can prepare reliable table operations faster in both test and production environments.

icon

Better reports and summaries - You will master GROUP BY, aggregate functions, and HAVING, enabling you to build clear reports with totals, averages, counts, and trends without manual processing outside the database.

icon

Effective subquery usage - You will use subqueries in WHERE and FROM with much more confidence, including IN and EXISTS, so you can create precise filters and comparisons across multiple data sources.

icon

Faster query performance - You will learn how to create indexes, read execution plans, and spot bottlenecks, which will help you improve queries running on large tables and reduce unnecessary server load.

icon

Practical view design - You will learn to build views based on joins and subqueries, update data through views, and understand where materialized views can simplify everyday work with database objects.

icon

Confidence with data types - You will gain better control over type conversion, text handling, and advanced data types, helping you avoid errors caused by incompatible formats and incorrect value transformations.

icon

Modern analysis techniques - You will master window functions, set operators, and analytical functions such as LEAD and LAG, so you can build rankings, comparisons, and sequence analysis without awkward workarounds.

icon

Safer database operations - You will understand transactions, concurrency, error handling, roles, and permissions, allowing you to control change risk better, protect sensitive data, and predict multi-user impact.

Training programme

1. Advanced operations on data (DML)

  • inserting data using INSERT INTO ... SELECT,
  • updating data using subqueries and joins,
  • deleting data using conditions and subqueries,
  • MERGE statement (UPSERT) – data synchronization,
  • best practices when modifying large data sets.

2. Advanced SELECT queries

  • data grouping (GROUP BY),
  • aggregate functions (COUNTSUMAVGMINMAX),
  • group filtering (HAVING),
  • advanced sorting of results,
  • operations on NULL values,
  • conditional expressions (CASECOALESCENULLIF).

3. Subqueries and Common Table Expressions (CTE)

  • correlated and uncorrelated subqueries,
  • subqueries in SELECT, FROM and WHERE clauses,
  • EXISTS, NOT EXISTS, IN, ANY, ALL operators,
  • Common Table Expressions (WITH),
  • recursive CTEs.

4. Query optimization

  • indexes and their impact on performance,
  • creating and deleting indexes,
  • analysis of execution plans (EXPLAINEXPLAIN PLAN),
  • identification of bottlenecks,
  • optimization of queries for large data sets,
  • best practices for creating efficient queries.

5. Views

  • creating simple and complex views,
  • views using joins and subqueries,
  • updating data through views,
  • materialized views (in systems that support them),
  • use of views for securing data.

6. Working with data types

  • data type conversion,
  • functions operating on dates and time,
  • text functions,
  • working with numeric types,
  • handling JSON data (if supported by the database engine).

7. Analytical functions

  • window functions (OVER),
  • ROW_NUMBERRANKDENSE_RANKNTILE,
  • LEAD and LAG,
  • FIRST_VALUE and LAST_VALUE,
  • running totals and moving averages,
  • set operators (UNIONUNION ALLINTERSECTEXCEPT).

8. Procedures, functions and automation

  • creating stored procedures,
  • user-defined functions,
  • input and output parameters,
  • exception handling,
  • debugging procedures,
  • basics of creating triggers (Triggers).

9. Transactions and concurrency

  • transaction management (BEGINCOMMITROLLBACK),
  • transaction isolation levels,
  • locks and concurrency,
  • error handling,
  • ensuring data consistency.

10. Security and best practices

  • roles and user permissions,
  • securing sensitive data,
  • Dynamic SQL – possibilities and threats,
  • protection against SQL Injection,
  • basics of auditing operations on the database,
  • best practices for designing and maintaining SQL code.

11. Practical workshop

  • business requirements analysis,
  • building complex SQL queries,
  • using CTE and window functions,
  • query optimization,
  • execution plan analysis,
  • solving real problems using SQL.

What are the prerequisites for participating in the training?

icon

Basic SQL SELECT - You should be comfortable writing simple SELECT queries, choosing columns, filtering with WHERE, and sorting results so you can focus on more advanced techniques during the course.

icon

Simple joins - You should understand how to combine data from at least two tables using basic JOIN clauses, because the later exercises rely on building more complex query structures.

icon

Tables and records - You should understand tables, rows, columns, and keys, and know how to read the structure of a simple database so you can follow the training examples more efficiently.

icon

Basic data modification - You should know the basic use of INSERT, UPDATE, and DELETE in simple cases, so during the training you can focus on applying them in safer and more advanced scenarios.