Picture of Markus Winand

Every development team needs an SQL expert.

With this training, a member of your team can become this SQL expert.

5-Day Intensive Training for Emerging Experts

After this 5-day training, the participants clearly stand out from the field: they master modern SQL, know design principles for scalable databases and have gained practical experience through numerous exercises. During these five days, Markus Winand conveys the extensive SQL experience that he’s accumulated during his eight years as a developer with an international bank and a further eight years as an independent SQL trainer and consultant for companies of all sizes.

This training will be held two to three times in 2019. I’m currently running a survey in which interested can parties submit their needs.

What Participants Say

“The best SQL training developers can get“

“A truly productive training”


SQL-Performance Kick-Start

In this module, developers learn how to resolve the most common cause of SQL performance issues: the index/query mismatch. After this training, developers can do more than just solve performance problems—they can proactively avoid them during their everyday work.


  • How does an index work?

  • Multi-column, partial and function-based indexes

  • Execution plans

  • Join algorithms

  • Building and using data clusters

  • Indexing sort and grouping operations

  • Optimizing top-n and pagination queries

  • Drawbacks of indexes

SQL Reloaded

This module clarifies the most common uncertainties developers have when working with SQL, and it teaches them to find the right solution more quickly. This training also introduces some less well-known design principles that have nevertheless proven themselves over the past decade.


  • Syntactic components: keywords, names, values

  • Type safety and the predefined data types

  • NULL and the three-valued logic of SQL

  • Queries: structure and logical order of execution

  • Joins

  • The modern interpretation of the relational model

  • Storing versioned (historic) data in SQL databases

  • Immutable facts as a design principle

Analysis and Aggregation

Online analytical processing (OLAP) can simplify and accelerate many applications—also those processing transactions. Using these features not only reduces development time, it also improves the performance of the application.


  • Avoiding self-joins

  • Multiple groupings

  • Window functions

  • Ranking

  • Grouping consecutive events

Recursive Queries

Modern SQL can process hierarchies and graphs directly in the database. This often means that you can avoid the need to cross a technology border, thus reducing the complexity and error-proneness of the application.


  • The WITH clause (non-recursive)

  • The WITH RECURSIVE clause

  • Use cases and examples


The course fee is €2490 (plus 20% VAT, €2988) per participant.

Foreign companies might be entitled for a full VAT refund from Austrian tax authorities. See VAT-Refund Procedure at the website of the Austrian Ministry of Finance for prerequisites and further details.

In the Package

This is what you get for your money:

  • 5 full days (Mon-Fri; 9am–5pm) training with Markus Winand

  • No more than 8 participants

  • The venue is seminar hotel in Vienna, Austria.

    The actual venue will be announce no less than 3 weeks before the training.

  • Catering: Lunch, snacks during the breaks

  • One hard copy and PDF of “SQL Performance Explained” (choose: English, German, French, Japanese or Spanish)

  • PDF and wire-bound print of the current draft of my next book covering the other topics of the training (choose: English or German)

  • Training exercises and solutions (runnable scripts for all covered databases)

  • Teammate on demand voucher: 2 times 30 minutes remote coaching valid 30 days after the training.


This training is for developers with some SQL experience.

Bring your own device (with a database installed). Detailed requirements will be shared several weeks before the training.

A VirtualBox appliance with a preconfigured PostgreSQL databases will be made available for download before the training. Client not included—install your preferred client before the training.

Let me know today if you might be interested (no obligation)

Every date will be held in English or German using one primary and several secondary demo databases. All examples are discussed for the primary database. Differences to secondary databases are explained but I won’t run every single example on every secondary database. The training material covers all databases (if that database supports the required functionality).

Please complete the form below if you are interested so that I can consider your requirements when scheduling the dates for 2019. I will inform you about the actual dates in November.

Privacy: The provided data is solely used to contact you for upcoming dates.

What Participants Say

In this intensive training we learned the basic blocks of database tuning in a great depth and practiced the analysis and tuning of different SQL statements. In addition we looked at typical SQL traps and learned how to avoid them. The last part of the training was a journey into a world of “new” SQL with advanced grouping/aggregation, window functions and recursive queries. The training was rounded off by very good documentation and a real SQL master as a trainer. In summary: the best SQL training developers can get.

A truly productive training. The biggest win for me with the training is increased confidence in the SQL arena. Before I have sometimes managed to come up with solutions that work, buts still feels clumsy, now I always know what to do.

About Markus Winand

Markus Winand is an independent author, trainer and consultant on all things SQL. His book “SQL Performance Explained” has just been translated into a fifth language. It can be purchased as a print edition, and it’s also available to read for free on his use-the-index-luke.com website. Markus is currently working on his second book centered on the idea that things have changed a lot since SQL-92. It is likewise available free of charge online (modern-sql.com). Markus Winand is regularly speaking at international conferences and user groups.

Connect with Markus Winand

Markus Winand on LinkedInMarkus Winand on XINGMarkus Winand on Twitter