this post was submitted on 19 Oct 2023
1710 points (98.8% liked)

Programmer Humor

32558 readers
552 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] xmunk@sh.itjust.works 17 points 1 year ago* (last edited 1 year ago) (3 children)

Sorry, to clarify, not everything is in all caps. I'll append my prefered syntax below

WITH foo AS (
    SELECT id, baz.binid
    FROM
            bar
        JOIN baz
            ON bar.id = baz.barid
)
SELECT bin.name, bin.id AS binid
FROM
        foo
    JOIN bin
        foo.binid = bin.id

The above is some dirt simple SQL, when you get into report construction things get very complicated and it pays off to make sure the simple stuff is expressive.

[–] NedDasty@lemmy.world 14 points 1 year ago (2 children)

You indent your JOIN? Why on earth? It lives in the same context as the SELECT.

[–] xmunk@sh.itjust.works 9 points 1 year ago

I've seen both approaches and I think they're both quite reasonable. An indented join is my preference since it makes sub queries more logically indented... but our coding standards allow either approach. We've even got a few people that like

FROM foo
JOIN bar ON foo.id = bar.fooid
JOIN baz ON bar.id = baz.barid
[–] callcc@lemmy.world 6 points 1 year ago

Actually not. It's part of the FROM

[–] Cold_Brew_Enema@lemmy.world 1 points 1 year ago (1 children)

Um you forgot the semicolon before with assuming there isn't one in the previous statement. Syntax error. Code review failed

[–] xmunk@sh.itjust.works 5 points 1 year ago

There's no way we're running in multi statement mode... I like my prepared queries, thank you very much.