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