❌ #SQLAntiPattern: Бесконечные вложенные подзапросы
Многие новички пишут код с множеством уровней вложенности:
✅ Лучшее решение - использовать CTE (Common Table Expressions)
💡 CTE делают код намного читабельнее и легче для сопровождения!
#CleanCode #SQLRefactoring
Многие новички пишут код с множеством уровней вложенности:
-- Сложный для понимания запрос
SELECT *
FROM (
SELECT *
FROM (
SELECT *
FROM products
WHERE category_id IN (
SELECT id
FROM categories
WHERE active = true
)
) AS active_products
WHERE price > 100
) AS expensive_products
WHERE stock_quantity > 0;
✅ Лучшее решение - использовать CTE (Common Table Expressions)
WITH active_categories AS (
SELECT id
FROM categories
WHERE active = true
),
active_products AS (
SELECT *
FROM products
WHERE category_id IN (SELECT id FROM active_categories)
),
expensive_products AS (
SELECT *
FROM active_products
WHERE price > 100
)
SELECT *
FROM expensive_products
WHERE stock_quantity > 0;
💡 CTE делают код намного читабельнее и легче для сопровождения!
#CleanCode #SQLRefactoring
❤1💘1