Подзапросы и CTE
ProОсвойте вложенные SELECT — один из ключевых инструментов опытного разработчика. Вы научитесь писать скалярные и табличные подзапросы, коррелированные подзапросы и EXISTS, именованные подзапросы через CTE (WITH) и их цепочки, рекурсивные CTE для обхода иерархий и LATERAL JOIN для задач Top-N per group. Работаем на датасете с оргструктурой, проектами и деревом категорий.
Что вы научитесь
- Писать скалярные подзапросы в WHERE, SELECT и FROM
- Фильтровать строки через IN и NOT IN с подзапросом
- Использовать коррелированные подзапросы (ссылка на внешний запрос)
- Проверять существование строк через EXISTS и NOT EXISTS
- Именовать подзапросы через CTE (WITH ... AS)
- Строить цепочки из нескольких CTE в одном запросе
- Обходить иерархии (дерево категорий, org chart) через WITH RECURSIVE
- Решать задачи Top-N per group через LATERAL JOIN
Программа курса · 4 трека
Подзапросы: scalar и IN/NOT IN
Вложенные SELECT внутри WHERE, SELECT и FROM. Фильтрация через IN и NOT IN. Научитесь сравнивать строки с агрегатами без JOIN.
Ещё не начат
Коррелированные подзапросы и EXISTS
Подзапрос ссылается на строку внешнего запроса — выполняется для каждой строки. EXISTS как эффективная замена IN для проверки существования.
Ещё не начат
CTE: читаемые подзапросы
WITH ... AS — именованные подзапросы, которые делают сложные запросы читаемыми. Цепочки нескольких CTE для многошаговой аналитики.
Ещё не начат
WITH RECURSIVE и LATERAL JOIN
WITH RECURSIVE для обхода деревьев и иерархий. LATERAL JOIN — коррелированный подзапрос в FROM, незаменимый для Top-N per group.
Ещё не начат
Получите полный доступ к курсу
Все уроки, практические задания и проверка запросов — навсегда.