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
"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
That “*” indeed causes lot of misconceptions in both areas: NULL treatment and performance.
Do you remember I tried to change Postgres code to remember the not meaningful necessity for the star in count(*)? Well, I’m just saying that other DBMS like @clickhouse.com did.
tyler perry 's house of payne is being advertised on bet
Alt: A man is raising his hands in the air in a “not my fault” gesture.
media.tenor.com
May 10, 2025 at 9:11 AM
Good morning and have a nice day :)
May 8, 2025 at 8:03 AM
Reposted by Markus Winand
New PostgreSQL tag: REL_18_BETA1

So many features to check out…
May 7, 2025 at 5:26 AM
New PostgreSQL tag: REL_18_BETA1

So many features to check out…
May 7, 2025 at 5:26 AM
Laetitia Avrot wrote:

> I am announcing my resignation from my position as treasurer of our association, effective immediately.

It is not even saying "for private reasons". IMHO, something went terribly wrong (and might continue to go wrong).

Change my mind.

www.postgresql.org/message-id/C...
www.postgresql.org
April 25, 2025 at 3:04 PM
I wish I was running my business in a garage. I'd have more space there.

Related: New mugs arrived: use-the-index-luke.com/shop#mugplus...
April 23, 2025 at 11:43 AM
@mp911.de Ich suche für ein yet-to-be-announced ViennaDB meetup einen zweiten Vortrag auf Deutsch. Der erste ist thematisch fixiert und auf Deutsch. Termin ist noch flexibel. Hat du Lust oder kennst du jemanden?
April 16, 2025 at 1:05 PM