Sabitlenmiş Tweet
Markus Winand
6.6K posts

Markus Winand
@MarkusWinand
SQL Renaissance Ambassador. Author, Trainer, Coach. PhD in Common Sense. Creator of https://t.co/6oKhq87B43 and https://t.co/RrIy2AY7Tl.
Vienna, Austria Katılım Ağustos 2010
259 Takip Edilen9.4K Takipçiler

Other profiles
@MarkusWinand" target="_blank" rel="nofollow noopener">mastodon.social/@MarkusWinand
bsky.app/profile/winand…
at.linkedin.com/in/markuswinan…
English
Markus Winand retweetledi

Order-equivalent OVER clauses
modern-sql.com/blog/2026-03/o…
About an important but rarely appreciated aspect when using multiple OVER clauses in a single query.
English
Markus Winand retweetledi

SQL Comments, Please!
modern-sql.com/caniuse/commen…
Standard SQL offers two flairs of comments: one starts by two dashes (--) and goes to the end of the line. The other starts with slash-asterisk (/*) and ends with asterisk-slash (*/).
#SQL #DuckDB #PostgreSQL #MSSQL
English
Markus Winand retweetledi

Infinite Recursion Guards
modern-sql.com/caniuse/with_r…
With recursive is the only SQL construct that is not guaranteed to terminate, eventually. As the DBMS is typically a very crucial system, infinite loops must be prevented at all times. See how various SQL systems help you.
English

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 :)
🧵

Modern SQL@ModernSQL
The just released version 23.26.1 of the Oracle DB supports the FILTER clause. modern-sql.com/feature/filter
English

Oh, BTW, I’m also ecstatic about ASSERTION, but I’ll need some time to cover it on modern-sql.com.
English

FILTER was the first feature I covered on modern-sql.com, only supported by PostgreSQL at the time. Today, half the system I cover support FILTER. I cannot understand why there are still systems not support such a simple, easy to understand and useful feature.
English
Markus Winand retweetledi

Adieu Apache Derby, Welcome DuckDB
modern-sql.com/blog/2025-12/d…
English
Markus Winand retweetledi

Another look into PostgreSQL CTE materialization and non-idempotent subqueries
shayon.dev/post/2025/124/…
English
Markus Winand retweetledi

GROUP BY ALL
Very popular, not yet standard but set to become standard. Also expected for PostgreSQL 19.
modern-sql.com/caniuse/group-…
English

At least it's not dying without notice:
Apache Derby is retired.
issues.apache.org/jira/browse/DE…
Below: Poll if people would miss Derby on modern-sql.com (not even a year ago).
Markus Winand@MarkusWinand
Would you miss Apache Derby when I would remove it from the charts on modern-sql.com?
English

@ryanguill There is a logical processing sequence (engines might mix that up as long as the result is as though it would have observed this sequence):
WHERE -> GROUP BY -> HAVING (uses the result of GROUP BY) -> WINDOW -> QUALIFY (uses the result of WINDOW !!!).
English

@MarkusWinand duckdb also supports qualify, its very useful. intelectually curious why `having` couldnt be expanded to support window functions rather than needing a new keyword though
English

Oracle 26ai¹ was released yesterday.
Noteworthy SQL addition: QUALIFY.
modern-sql.com/caniuse/qualify
I bet this starts an avalanche (there are already PostgreSQL patches).
¹ 26ai is the marketing version, 23.26.0 is the technical version.
English

@SagarDua297 I don't trust the docs. All my charts are bases on actual tests.
English

@MarkusWinand I don't remember this was in 23ai new features list. Was it added in 26ai doc update? Thanks!
English

@artur_formella That would be an earlier step of processing — in particular, before WINDOW. Sounds like a different beast. For what do you need that?
English

@MarkusWinand We need it with JOIN i.e. JOIN X ON Y QUALIFY ONCE PER id
English

My favorite change is that MariaDB got an improved "WHERE year(...) = ?" rewriting. use-the-index-luke.com/blog/2024-12/d…
In picture: the green check mark used to be yellow, with the "a" footnote: Unconditionally rewritten—even if only a matching function-based index exists

English

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