Sobes.tech
Junior — Middle

¿Puedes dar un ejemplo de uso de una tabla temporal con una expresión de tabla común (CTE) en SQL?

sobes.tech AI

Respuesta de la IA

Общее табличное выражение (CTE) позволяет определить временную именованную таблицу, которая существует только в рамках одного запроса. Это удобно для упрощения сложных запросов и повторного использования подзапросов.

Пример использования CTE для создания временной таблицы, которая выбирает пользователей с количеством заказов больше 5:

WITH FrequentCustomers AS (
    SELECT user_id, COUNT(*) AS orders_count
    FROM orders
    GROUP BY user_id
    HAVING COUNT(*) > 5
)
SELECT u.user_id, u.name, fc.orders_count
FROM users u
JOIN FrequentCustomers fc ON u.user_id = fc.user_id;

Здесь FrequentCustomers — временная таблица, которая содержит пользователей с более чем 5 заказами. Далее она используется в основном запросе для получения дополнительной информации о пользователях.