Markus Winand
banner
winand.at
Markus Winand
@winand.at
SQL Renaissance Ambassador. Author, Trainer, Coach. PhD in Common Sense. Creator of http://use-the-index-luke.com and http://modern-sql.com.
Pinned
Teaching is about making students reach the same level of understanding as the teacher—but with less mental effort.

This allows students to put their mental efforts into growing beyond their teachers.
Reposted by Markus Winand
On Tuesday 30 December 2025 at 20:00 CEST
I will do a live coding stream comparing both approaches.
youtube.com/live/3tnpb88...
#LiveCoding #SoftwareEngineering
One backend twice - Hibernate vs jOOQ on real code
In this live coding session, I compare two backend implementations of the exact same API. One built with Hibernate as a traditional ORM and one built with jO...
youtube.com
December 28, 2025 at 6:45 PM
Without Overlaps Constraints
modern-sql.com/caniuse/with...

New in PostreSQL 18. Since 9.2, EXCLUDE constraints can be used for the same purpose.
WITHOUT OVERLAPS Constraints
PRIMARY KEY (id, period WITHOUT OVERLAPS)
modern-sql.com
December 18, 2025 at 11:23 AM
Reposted by Markus Winand
Veggie-Burger verboten, Verbrenner erlaubt: EU gut gerüstet für 19. Jahrhundert dietagespresse.com/veggie-burge...
Veggie-Burger verboten, Verbrenner erlaubt: EU gut gerüstet für 19. Jahrhundert
Durch das Veggie-Verbot und dem Festhalten am Verbrennungsmotor positioniert sich Europa als Innovationsführer für das späte Biedermeier.
dietagespresse.com
December 17, 2025 at 12:50 PM
Trivia: To run modern-sql.com I've currently 195 SQL systems in my lab and 60000+ test cases.
December 17, 2025 at 12:34 PM
Adieu Apache Derby, Welcome DuckDB

modern-sql.com/blog/2025-12...
DuckDB Coverage
Apache Derby is retired, ModernSQL now covers DuckDB instead
modern-sql.com
December 16, 2025 at 3:41 PM
Reposted by Markus Winand
clever deflock solutions abound.
December 16, 2025 at 1:25 AM
Reposted by Markus Winand
modern-sql.com now covers DuckDB.
Modern SQL: A lot has changed since SQL-92
SQL has evolved. Beyond the relational model. Discover it now.
modern-sql.com
November 28, 2025 at 1:24 PM
modern-sql.com now covers DuckDB.
Modern SQL: A lot has changed since SQL-92
SQL has evolved. Beyond the relational model. Discover it now.
modern-sql.com
November 28, 2025 at 1:24 PM
Reposted by Markus Winand
Picard engineering tip: Use the metric system.
November 26, 2025 at 8:31 PM
Another look into PostgreSQL CTE materialization and non-idempotent subqueries

www.shayon.dev/post/2025/12...
Another look into PostgreSQL CTE materialization and non-idempotent subqueries
A follow-up exploration into PostgreSQL CTE materialization, diving deeper into why non-idempotent subqueries can execute multiple times, leading to unexpected results.
www.shayon.dev
November 25, 2025 at 12:25 PM
From the announcement of SQL Server 2025:

"SQL Server 2025 (did you notice our new icon!) [...]"

Microsoft is focusing on the important things again ;)

www.sqlservercentral.com/articles/sql...
SQL Server 2025 has arrived! – SQLServerCentral
SQL Server 2025 has been released to GA. Read about the new version in this piece by Bob Ward.
www.sqlservercentral.com
November 18, 2025 at 4:45 PM
Reposted by Markus Winand
Find yourself someone who will look at you the way I look at modern SQL modern-sql.com
November 14, 2025 at 1:43 PM
“Early in our company’s life, we built everything around modern data frameworks — until we realized the simplest, most reliable tool had been in front of us all along”

blog.sturdystatistics.com/posts/sql/
The Quiet Power of SQL – Sturdy Statistics Blog
blog.sturdystatistics.com
November 14, 2025 at 12:14 PM
Reposted by Markus Winand
"Die typische SQL-Erfahrung ist 25 Jahre hinterher. Ich bringe Entwicklern das aktuelle SQL-Know-how bei, damit Ihr Unternehmen die bestehende Infrastruktur besser nutzen kann."

Alter... @winand.at nailed it in seinem XING Profil
How did I write SQL for 25 years and never having actively used a WITH statement? And I thought I knew SQL.
November 10, 2025 at 10:15 AM
GROUP BY ALL

Very popular, not yet standard but set to become standard. Also expected for PostgreSQL 19.

modern-sql.com/caniuse/grou...
GROUP BY ALL
Automatically put non-aggregate SELECT items into GROUP BY clause
modern-sql.com
November 5, 2025 at 2:28 PM
Reposted by Markus Winand
October 15, 2025 at 11:10 PM
Oracle 26ai¹ was released yesterday.

From the SQL standpoint it's worth mentioning that is has got the QUALIFY clause:

I bet this starts an avalanche (there are already PostgreSQL patches).

modern-sql.com/caniuse/qual...

¹ 26ai is the marketing version, 23.26.0 is the technical version.
QUALIFY clause (window functions)
QUALIFY: filter rows based on window functions
modern-sql.com
October 15, 2025 at 3:36 PM
The best thing is how they “solved” the problem ;)
they used AI to uppercase text? lol.
September 13, 2025 at 11:26 AM
Reposted by Markus Winand
After being « gone fishin' » during summertime I just updated my website for the releases that happened during that time:

* MariaDB 11.8 and 12.0
* Oracle 23.9
* Db2 12.1.2

All charts on modern-sql.com and use-the-index-luke.com are updated.
Modern SQL: A lot has changed since SQL-92
SQL has evolved. Beyond the relational model. Discover it now.
modern-sql.com
September 5, 2025 at 9:31 AM
After being « gone fishin' » during summertime I just updated my website for the releases that happened during that time:

* MariaDB 11.8 and 12.0
* Oracle 23.9
* Db2 12.1.2

All charts on modern-sql.com and use-the-index-luke.com are updated.
Modern SQL: A lot has changed since SQL-92
SQL has evolved. Beyond the relational model. Discover it now.
modern-sql.com
September 5, 2025 at 9:31 AM
Reposted by Markus Winand
💯
August 28, 2025 at 4:23 AM
Reposted by Markus Winand
Index your database with caution.

Every new index causes:

(a) Increased storage overhead (and in turn, data duplication)
(b) Increased write over head for INSERTs

The general principle here is that indexing improves read performance but hurts write performance.
August 25, 2025 at 3:35 PM
Reposted by Markus Winand
Reading “SQL Performance Explained” and I’m taking this as an excuse to draw tree/squirrel shaped Pokémons
August 9, 2025 at 4:33 PM
Reposted by Markus Winand
SQL is the biggest gift to humankind, sliced bread would come in second place
July 21, 2025 at 8:56 PM
Reposted by Markus Winand
Do you still manually write SQL queries or rely entirely on ORMs?
July 18, 2025 at 11:43 PM