WeSearch

Welcome to Order by Jungle

Radim Marek· ·11 min read · 0 reactions · 0 comments · 15 views
#sql#database#programming
Welcome to Order by Jungle
⚡ TL;DR · AI summary

The article discusses the complexities of the SQL ORDER BY clause, highlighting how it processes identifiers and expressions differently. It explains that while most developers assume ORDER BY simply sorts by column names, there are nuances that can lead to unexpected results. The author provides examples to illustrate how aliases and expressions interact within the SQL parser, revealing potential pitfalls in query design.

Key facts
Original article
boringSQL | Supercharge your SQL & PostgreSQL powers · Radim Marek
Read full at boringSQL | Supercharge your SQL & PostgreSQL powers →
Opening excerpt (first ~120 words) tap to expand

Table of Contents Names and expressions are not the same Same answer, two different sorts Above the identifier, or around it Aliases that aren't the names you think GROUP BY checks the opposite scope first Window ORDER BY does not even pretend UNION ORDER BY is name-only The seam, in the source A useful workaround The boring takeaway SQL is fun and not at all boring. The latest article by Markus Winand on Order by Has Come a Long Way sent me on quite a journey. First, set up a table called nums with one integer column and four rows: CREATE TABLE nums (a int); INSERT INTO nums VALUES (0), (1), (2), (3); Try to guess what these two queries return. SELECT -a AS a FROM nums ORDER BY a; SELECT -a AS a FROM nums ORDER BY -a; Most of us would guess the same rows in a different order.

Excerpt limited to ~120 words for fair-use compliance. The full article is at boringSQL | Supercharge your SQL & PostgreSQL powers.

Anonymous · no account needed
Share 𝕏 Facebook Reddit LinkedIn Threads WhatsApp Bluesky Mastodon Email

Discussion

0 comments