Что такое CTE запрос
Python
Middle
Без компании
Что такое CTE запрос
Ответы
CTE (Common Table Expression) — это временный результат запроса, который можно использовать в последующих SQL-запросах. В Python CTE часто применяют с библиотеками типа SQLAlchemy или напрямую в SQL-запросах через `WITH`.
**Пример с SQLAlchemy:**
```
from sqlalchemy import select, text
# CTE запрос через SQLAlchemy
cte = select(User).where(User.age > 18).cte("adult_users")
query = select(cte).where(cte.c.name.like("%A%"))
```
**Пример чистого SQL:**
```
WITH recent_orders AS (
SELECT * FROM orders WHERE order_date > '2023-01-01'
)
SELECT * FROM recent_orders WHERE total > 100;
```
**Плюсы CTE:**
- Улучшает читаемость сложных запросов.
- Позволяет рекурсивные запросы (например, для деревьев).
- Временный результат можно переиспользовать в одном запросе.
CTE выполняется только при использовании в основном запросе, не сохраняется в БД.