Sobes.tech
Junior — Middle

Czy możesz wyjaśnić, czym są wspólne wyrażenia tabel (CTE) w SQL i do czego służą?

sobes.tech AI

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