Открыл для себя оконные функции. ROW_NUMBER(), RANK(), DENSE_RANK() — то что раньше решал через самосоединения с группировками или курсоры теперь пишется в одну строку.
Особенно зашло OVER(PARTITION BY ... ORDER BY ...) — нумерация строк в группах, ранжирование, скользящие итоги. Понял что без оконных функций жил неправильно.
Агрегаты с OVER (SUM, AVG, COUNT) — можно считать нарастающий итог без группировки всего запроса. Это меняет подход к аналитическим запросам кардинально. Сокрушаюсь почему раньше про них не читал, столько времени мог сэкономить.
Много практикуюсь с процедурами. Процедуры все либо на загрузку данных, либо на их переработку в интеграционных цепочках.
Transact-SQL. Изучил заведение индексов, написание переменных и временных таблиц для процедур и функций, транзакции.
Transact-SQL. Знакомлюсь с CRUD синтаксисом, выборками и джойнами.