Sobes.tech
Back to questions
Junior — Middle
70

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

Companies where asked
Почтатех

Answer from AI

sobes.tech AI

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, который сначала выбирает заказы после определенной даты, а затем основной запрос агрегирует данные по клиентам.