Sobes.tech
Junior — Middle
94

Puteți explica ce sunt Expresiile Comune de Tabel (CTE) în SQL și cum sunt utilizate?

Companiile au fost întrebate
ArendadataArendadata
KeepRise

Răspuns de la AI

sobes.tech AI

Общие Табличные Выражения (CTE, Common Table Expressions) — это временные именованные результаты запроса, которые можно использовать внутри основного SQL-запроса. Они определяются с помощью ключевого слова WITH и упрощают чтение и структуру сложных запросов.

CTE позволяют:

  • Разбивать сложные запросы на логические части
  • Использовать рекурсию (рекурсивные CTE)
  • Повторно использовать один и тот же подзапрос внутри основного запроса

Пример использования CTE:

WITH RecentOrders AS (
  SELECT order_id, customer_id, order_date
  FROM orders
  WHERE order_date > CURRENT_DATE - INTERVAL '30 days'
)
SELECT c.customer_name, r.order_id, r.order_date
FROM customers c
JOIN RecentOrders r ON c.customer_id = r.customer_id;

Здесь RecentOrders — это CTE, который выбирает заказы за последние 30 дней. Затем основной запрос использует этот временный набор данных для объединения с таблицей клиентов.

В Python, при работе с базой через библиотеки (например, psycopg2 для PostgreSQL), CTE просто включаются в текст SQL-запроса.