Markus Winand's Avatar

Markus Winand

@winand.at.bsky.social

SQL Renaissance Ambassador. Author, Trainer, Coach. PhD in Common Sense. Creator of http://use-the-index-luke.com and http://modern-sql.com.

1,199 Followers  |  63 Following  |  222 Posts  |  Joined: 22.11.2023  |  2.3089

Latest posts by winand.at on Bluesky

A picture of a notebook with notes from the first chapter of the book “SQL Performance Explained”, on the page there’s a drawing of Sudowoodo, a tree-shaped Pokemon

A picture of a notebook with notes from the first chapter of the book “SQL Performance Explained”, on the page there’s a drawing of Sudowoodo, a tree-shaped Pokemon

Reading “SQL Performance Explained” and I’m taking this as an excuse to draw tree/squirrel shaped Pokémons

09.08.2025 16:33 — 👍 46    🔁 2    💬 5    📌 0

SQL is the biggest gift to humankind, sliced bread would come in second place

21.07.2025 20:56 — 👍 18    🔁 2    💬 0    📌 1

Do you still manually write SQL queries or rely entirely on ORMs?

18.07.2025 23:43 — 👍 2    🔁 1    💬 5    📌 0
Preview
… IS JSON [ARRAY|OBJECT|SCALAR] Check JSON syntax in SQL, test for Arrays, Objects or Scalars

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

25.06.2025 11:03 — 👍 2    🔁 2    💬 0    📌 1
Preview
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

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...

23.06.2025 14:19 — 👍 1    🔁 0    💬 0    📌 0
Preview
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

Datentypen, NoDB und NoSleep - nächsten Montag beim ViennaDB-Meetup, hosted by @winand.at. Es sind noch Plätze frei!

16.06.2025 07:02 — 👍 0    🔁 1    💬 0    📌 0

Https://use-the-index-luke.com/ :)

16.06.2025 06:25 — 👍 1    🔁 0    💬 0    📌 0
Preview
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

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...

16.06.2025 06:12 — 👍 0    🔁 0    💬 0    📌 0
Preview
The Curious Case of the Aggregation Query You won’t guess the result of that query

This? modern-sql.com/blog/2023-12...

07.06.2025 14:41 — 👍 2    🔁 2    💬 1    📌 0

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

26.05.2025 03:00 — 👍 4    🔁 1    💬 0    📌 0
SQLite File Format Viewer

sqlite-internal.pages.dev

Cool :)

13.05.2025 14:30 — 👍 2    🔁 1    💬 0    📌 0

That “*” indeed causes lot of misconceptions in both areas: NULL treatment and performance.

10.05.2025 09:11 — 👍 4    🔁 0    💬 1    📌 0

Good morning and have a nice day :)

08.05.2025 08:03 — 👍 3    🔁 0    💬 0    📌 0

New PostgreSQL tag: REL_18_BETA1

So many features to check out…

07.05.2025 05:26 — 👍 12    🔁 2    💬 0    📌 1

New PostgreSQL tag: REL_18_BETA1

So many features to check out…

07.05.2025 05:26 — 👍 12    🔁 2    💬 0    📌 1

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...

25.04.2025 15:04 — 👍 2    🔁 0    💬 1    📌 0
Preview
3-Minute Quiz: What do you know about SQL performance? Just 5 questions to see how much you know about SQL performance. Never make these mistakes again.

Regarding magic, may I put this here: use-the-index-luke.com/3-minute-quiz

23.04.2025 16:44 — 👍 3    🔁 0    💬 2    📌 0
Picture of a coffee mug featuring the "Use The Index, Luke!" mascot.

Picture of a coffee mug featuring the "Use The Index, Luke!" mascot.

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...

23.04.2025 11:43 — 👍 7    🔁 0    💬 0    📌 0

@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?

16.04.2025 13:05 — 👍 0    🔁 0    💬 2    📌 0

SQLite File Format Viewer

Discussion

14.04.2025 16:14 — 👍 0    🔁 1    💬 0    📌 0
Preview
F292, “UNIQUE null treatment” Explicit null treatment in unique constraints is not widely supported

The latest edition of the standard changed that so you can choose how UNIQUE constraints treat null. Not widely supported yet. modern-sql.com/caniuse/F292

09.04.2025 06:36 — 👍 0    🔁 0    💬 0    📌 0

SQL window functions — a feature you won't miss if you don't know it. But once you know it you'll see good use-cases for it everywhere.

04.04.2025 10:26 — 👍 9    🔁 0    💬 2    📌 0

I guess I need to address a new market segment for my consulting. Till now I've focused on users and SQL system vendors (strategic consulting, compliance testing). But the tool vendors (thinking about ORM) might need most desperately.

01.04.2025 05:59 — 👍 10    🔁 0    💬 1    📌 0

A golden oldie is when a spell checker corrects my "rows" into "rose".

Now it got my "infront" typo (missing space) corrected into "infant". Well done.

31.03.2025 15:15 — 👍 0    🔁 0    💬 0    📌 0
STRICT Tables

Just FYI, SQLite has hot “strict” tables in the meanwhile. www.sqlite.org/stricttables...

Still not a fully fledged type system…

26.03.2025 19:20 — 👍 1    🔁 0    💬 0    📌 0

Collations allow us to treat natural language as natural language: something that is damn hard to compare — yet SQL makes it easy. [Finding the right collation is the hard part — quite often the product at hand doesn't provide the collation that is needed — e.g. natural/numeric collations].

24.03.2025 18:13 — 👍 0    🔁 0    💬 0    📌 0

The trigger for my post was more like TIMESTAMPs and character strings (and their collation). One JSON document is just one semantic value. The SQL standard even supports different JSON dialects which only affects parsing/serialization but not picking things out of a JSON document. Grey area :)

24.03.2025 15:59 — 👍 1    🔁 0    💬 0    📌 0

In SQL, we are working with the data itself — not with its encoded form. Quite a difference to some other programming languages.

24.03.2025 15:44 — 👍 10    🔁 0    💬 2    📌 0
Preview
Modern SQL: A lot has changed since SQL-92 SQL has evolved. Beyond the relational model. Discover it now.

Just a self plug: you might like my website modern-sql.com :)

24.03.2025 08:25 — 👍 1    🔁 0    💬 0    📌 0

I even provide the content of my book for free, for humans. No derivative works allowed, though!

21.03.2025 05:49 — 👍 8    🔁 1    💬 0    📌 0

@winand.at is following 20 prominent accounts