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.
Time to re-watch The Terminator (1984)
February 1, 2026 at 1:36 PM
I’m a simple man.

While Oracle people are ecstatic about ASSERTION in the just released version 23.26.1 of the Oracle Database, I’m happy to see something as simple as FILTER :)

🧵
January 28, 2026 at 2:28 PM
Latencies are often
misunderstood. Also the IO latency in cloud environments, which are often many factors higher as on local discs (during development).
January 24, 2026 at 1:38 PM
Probably coming in PostgreSQL 19, btw.
January 23, 2026 at 8:09 AM
LEAD(x) IGNORE NULLS OVER(ORDER BY n)

Not very often, but when I need IGNORE NULLS, then I really miss it in PostgreSQL.

modern-sql.com/caniuse/T616
T616, “Null treatment option for LEAD and LAG functions”
T616, “Null treatment option for LEAD and LAG functions” in SQL
modern-sql.com
January 22, 2026 at 12:47 PM
Quelle: Der Standard
January 22, 2026 at 5:53 AM
Reposted by Markus Winand
Recent posts made the point that MySQL is dying. One of the arguments was that there are no Git commits in the past months. This particular argument is totally misleading.

🧵
January 21, 2026 at 12:45 PM
Charts on modern-sql.com updated for MySQL 9.6.0.

The functions MD5, SHA and SHA1 were "removed". That is (not very prominently) mentioned in the security section of the release notes.

You can get them back via
INSTALL COMPONENT 'file://component_classic_hashing'

dev.mysql.com/doc/refman/9...
MySQL :: MySQL 9.6 Reference Manual :: 7.5.8 Legacy Hashing Component
dev.mysql.com
January 21, 2026 at 4:53 PM
Recent posts made the point that MySQL is dying. One of the arguments was that there are no Git commits in the past months. This particular argument is totally misleading.

🧵
January 21, 2026 at 12:45 PM
Reposted by Markus Winand
I genuinely think SQL might be the best bit of technology ever.

I'm not very good at it, but it just works, for so many things, and if it doesn't work, it's probably because you're wrong
January 20, 2026 at 8:40 PM
Mankind completely lost the gut feeling for how long a task on a computer should reasonably take.

When a simple something like inserting three rows takes 700ms, we should fix that. Implementing a scale-out architecture to cope with that is just plain wrong.
January 19, 2026 at 3:08 PM
SQL’s access rights are often ignored.

In context of MCP, they are essential I’d say.
January 9, 2026 at 5:30 PM
Database management is more than persistence.

Beyond persistence, a DBMS also provides access rights (GRANT), schema enforcement (types, constaints), schema evolution (ALTER), concurrency control (TX isolation, deferred constraints), a query language…

Persistence is simple, DB managemant is hard.
January 9, 2026 at 1:50 PM
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