Since 1999, SQL is not limited to the relational model anymore.
Back then ISO/IEC 9075 (the “SQL standard”) added arrays, objects and recursive queries. In the meanwhile the SQL standard has grown five times bigger than SQL-92. In other words: relational SQL is only about 20% of modern SQL.0
If you can spare 15 minutes I’d like to tell you this story in this video. Alternatively on YouTube.
Recorded at the DataNatives-Conference in Berlin 2018.
On modern-sql.com I explain old and new SQL features and show which products support them. Take this example.
- Without column list:
WITH name AS (SELECT…)
- Without column list:
WITH RECURSIVE query_name AS (SELECT…)
- Without keyword
recursive
• Nojoin
in recursive branch—use comma-join (,
) - Without keyword
recursive
- Without DDL (automatically) • Only
FOR SYSTEM_TIME AS OF
- Some minor omissions and variations
- Alternative syntax. E.g. no
for system_time
Click on one of the features on the left hand side, e.g. “With
clause”, to see how long the tested databases support this feature.
If you want to start right away I’d recommend the articles about the pivot method, the extract
expression and the with
clause for the beginning. These are among the most popular articles on modern-sql.com.