Modern SQL retweeted
New post: Structured Primary Keys
For consistency and performance.
modern-sql.com/blog/2026-06/…
The SQL/JSON Path item-method .keyvalue() has an interesting history in the Oracle Database.
modern-sql.com/caniuse/keyva…
In 23.26.2 it works, but not in ?( filter ) context.
Modern SQL retweeted
MariaDB 12.3.2 was released last week.
It's the first "stable" version of the long-term supported (LTS = 3 years) 12.3 branch.
An SQL dialect enhancement is the IS JSON predicate. Also: a bug I reported is fixed (MDEV-38835).
All charts on modern-sql.com are updated.
ORDER BY Has Come a Long Way
modern-sql.com/blog/2026-05/…
The ORDER BY clause is one of the best-known SQL clauses. Yet there are a number of common misunderstandings that are worth clearing up. The article walks you through the evolution of the ORDER BY clause in the SQL standard.
Should these functions return the same value?
SELECT
ROW_NUMBER() OVER (ORDER BY x),
ROW_NUMBER() OVER (ORDER BY x)
FROM ...
What about when many rows have the same value for X?
According to the #SQL standard: yes
@MarkusWinand investigates modern-sql.com/blog/2026-03/…
Order-equivalent OVER clauses
modern-sql.com/blog/2026-03/…
About an important but rarely appreciated aspect when using multiple OVER clauses in a single query.
SQL Comments, Please!
modern-sql.com/caniuse/comme…
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
Infinite Recursion Guards
modern-sql.com/caniuse/with_…
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.
The just released version 23.26.1 of the Oracle DB supports the FILTER clause.
modern-sql.com/feature/filte…
WITHOUT OVERLAPS Constraints
modern-sql.com/caniuse/witho…
New in PostreSQL 18. Since 9.2, EXCLUDE constraints can be used for the same purpose.
Adieu Apache Derby, Welcome DuckDB
modern-sql.com/blog/2025-12/…
Modern SQL retweeted
modern-sql.com/ now covers DuckDB.
GROUP BY ALL
Very popular, not yet standard but set to become standard. Also expected for PostgreSQL 19.
modern-sql.com/caniuse/group…
Modern SQL retweeted
Oracle 26ai¹ was released yesterday.
Noteworthy SQL addition: QUALIFY.
modern-sql.com/caniuse/quali…
I bet this starts an avalanche (there are already PostgreSQL patches).
¹ 26ai is the marketing version, 23.26.0 is the technical version.
Modern SQL retweeted
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.
Just updated modern-sql.com and use-the-index-luke.com for MariaDB 11.7.
One enhancement is the FROM-clause column renaming, as described in this article: modern-sql.com/caniuse/E051-…
Modern SQL retweeted
A Christmas present for SQL standard lovers?
Part 1 is available for free again.
standards.iso.org/ittf/Publi…
The last edition that was available for free was 2011, AFAIK. And that disappeared when 2016 was released.
Merry Christmas :)
Modern SQL retweeted
The scraping of content for AI training makes some changes required. I'll publish less on my website and RSS feed. The mailing lists will probably stay the same for the time being. If you want to still get everything, subscribe here:
winand.at/lists
Modern SQL retweeted
Would you miss Apache Derby when I would remove it from the charts on modern-sql.com?
1%Yes
79%No
20%(show results)
91 votes • Final results


