Most developers know SELECT, JOIN, and GROUP BY. Window functions are where the gap between mid and senior starts to show.
What makes window functions different
GROUP BY collapses rows. You lose the individual record — it becomes part of an aggregate.
Window functions don't collapse anything. They compute an aggregate over a set of rows while keeping every row intact. That's the core idea.
-- GROUP BY: one row per department






