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
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
Reposted by Markus Winand
Test whether a value is valid #JSON or not with

WHERE val IS JSON

You can also use this to test if the value is a JSON

Object
Array

And check if there are duplicate key names

@winand.at‬ investigates
… IS JSON [ARRAY|OBJECT|SCALAR]
Check JSON syntax in SQL, test for Arrays, Objects or Scalars
buff.ly
June 25, 2025 at 11:03 AM
Hallo Wien!

Das ViennaDB Meetup findet im klimatisierten Office statt ;)

Spannende Vorträge über Datenbanken, wie man sie loswird und wie man selbst eine macht.

Heute ab 18:30, nähe Praterstern.

www.meetup.com/viennadb-the...
Datentypen, NoDB und NoSleep, Mon, Jun 23, 2025, 6:30 PM | Meetup
[As an exception, our next meetup will be held in German] Am Montag, dem 23. Juni, ist es (schon) wieder so weit. In drei Vorträgen geht es um Datentypen, das Leben ohne D
www.meetup.com
June 23, 2025 at 2:19 PM
Reposted by Markus Winand
Datentypen, NoDB und NoSleep - nächsten Montag beim ViennaDB-Meetup, hosted by @winand.at. Es sind noch Plätze frei!
Datentypen, NoDB und NoSleep, Mon, Jun 23, 2025, 6:30 PM | Meetup
[As an exception, our next meetup will be held in German] Am Montag, dem 23. Juni, ist es (schon) wieder so weit. In drei Vorträgen geht es um Datentypen, das Leben ohne D
www.meetup.com
June 16, 2025 at 7:02 AM
Nächsten Montag bei ViennaDB: Braucht man denn überhaupt eine Datenbank? Hinken RDBM-Systeme anderen Sprachen hinterher? Wofür opfert man seinen Schlaf?
Drei Praxis-Vorträge, nähe Praterstern, für Verpflegung ist gesorgt
Kostenlose Anmeldung zwecks Planung erwünscht: www.meetup.com/viennadb-the...
Datentypen, NoDB und NoSleep, Mon, Jun 23, 2025, 6:30 PM | Meetup
[As an exception, our next meetup will be held in German] Am Montag, dem 23. Juni, ist es (schon) wieder so weit. In drei Vorträgen geht es um Datentypen, das Leben ohne D
www.meetup.com
June 16, 2025 at 6:12 AM
Reposted by Markus Winand
SQLite can serve as a robust container format, offering transactions, indexing, and SQL querying. Compared to ZIP, it adds structure but also overhead. It's a powerful option for complex structured data files. #Databases 6/6
May 26, 2025 at 3:00 AM
SQLite File Format Viewer
sqlite-internal.pages.dev
May 13, 2025 at 2:30 PM