Sobes.tech
Junior — Middle

Kannst du ein Beispiel für die Verwendung einer temporären Tabelle mit einer Common Table Expression (CTE) in SQL geben?

sobes.tech KI

Antwort von AI

Общее табличное выражение (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 заказами. Далее она используется в основном запросе для получения дополнительной информации о пользователях.