Petr Volobuev | Technology RadarPetr Volobuev | Technology Radar
Using

Discovered window functions. ROW_NUMBER(), RANK(), DENSE_RANK() — things I used to solve with self-joins plus grouping, or cursors, now fit into a single line.

OVER(PARTITION BY ... ORDER BY ...) was the real revelation — row numbering within groups, ranking, running totals. I realized I'd been living wrong all this time without window functions.

Aggregates with OVER (SUM, AVG, COUNT) — you can compute a running total without grouping the whole query. This changes the approach to analytical queries radically. Kicking myself for not reading about them sooner — think of all the time I could have saved.

Using

Getting lots of practice with stored procedures. The procedures are all either for loading data or for transforming it within integration chains.

Using

Transact-SQL. Learned to set up indexes, write variables and temp tables for procedures and functions, and transactions.

Assessing

Transact-SQL. Getting acquainted with CRUD syntax, selects and joins.