CTEs are amazing. I discovered them semi recently and it's such a great tool to have in your belt.
Partitioning is definitely something I need to work on.
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities [email protected]
CTEs are amazing. I discovered them semi recently and it's such a great tool to have in your belt.
Partitioning is definitely something I need to work on.
I have to create a fucking account just to fucking read your article?! Kthxbye!
Lol
But just that popup existing is irritating.
CTEs enhance readability, documentation, and testing imo. I'm very pro CTE whenever a subquery isn't the obvious choice.
Very useful. I'll definitely going to use the ranking stuff.
It's always bothered me when I write subqueries that have to be run on each row. Good to know that there's a better way.
I feel like the word "partitions" used in this article should be "window functions"
Good point. Window functions are mandatory knowledge for intermediate users
Stage 5 can give you a huge boost in writing complex queries!
You say that like it's a good thing. I like my queries simple.
Also - the stuff you have under "stage 6" should all be learned before "stage 2" in my opinion. Knowing how to write efficient queries is far more important than group by / join / etc.
Joining is one of the simplest and most useful things in SQL.
How can you possibly query without it?
Simple queries are obviously better but not everything can be achieved with simple selects.
Huh? How do you write an efficient query and not take into account joins? A single table query? Are you a Prisma fan?
Are you a Prisma fan?
Ooooh, that's a good burn
I imagine it depends on use case. Anything more advanced that subqueries/CTEs is largely the domain of ETL developers (not exclusively, obviously) but most others using SQL don't need anything that advanced.