Можете объяснить, что такое common table expressions (CTE) в SQL и для чего они используются?

Common Table Expressions (CTE) в SQL — это временные именованные результирующие наборы, которые определяются внутри выполнения одного SQL-запроса.

Короткий ответ

Что ответить на собеседовании

Common Table Expressions (CTE) в SQL — это временные именованные результирующие наборы, которые определяются внутри выполнения одного SQL-запроса. Они позволяют структурировать сложные запросы, делая их более читаемыми и поддерживаемыми.

Подробный разбор

Ответ с пояснениями

Common Table Expressions (CTE) в SQL — это временные именованные результирующие наборы, которые определяются внутри выполнения одного SQL-запроса. Они позволяют структурировать сложные запросы, делая их более читаемыми и поддерживаемыми.

CTE объявляются с помощью ключевого слова WITH, после которого идет имя CTE и определение запроса. CTE можно использовать для:

  • Разбиения сложных запросов на логические части.
  • Рекурсивных запросов (например, обход иерархий).
  • Повторного использования одного и того же подзапроса в основном запросе.

Пример использования CTE:

WITH RecentOrders AS (
    SELECT OrderID, CustomerID, OrderDate
    FROM Orders
    WHERE OrderDate > '2024-01-01'
)
SELECT CustomerID, COUNT(OrderID) AS OrderCount
FROM RecentOrders
GROUP BY CustomerID;

Здесь RecentOrders — это CTE, который сначала выбирает заказы после определенной даты, а затем основной запрос агрегирует данные по клиентам.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку