Junior — Middle
Vysvětlete princip fungování a použití společných tabulkových výrazů (CTE) v systémech správy databází.
sobes.tech AI
Odpověď od AI
Obecné výrazy tabulek (CTE, Common Table Expressions) jsou dočasné pojmenované výsledky dotazu, které jsou definovány na začátku SQL dotazu a mohou být použity uvnitř hlavního dotazu.
Princip fungování:
- CTE je deklarováno pomocí klíčového slova
WITH. - Uvnitř CTE je popsán poddotaz, jehož výsledek lze použít jako tabulku v hlavním dotazu.
- CTE zlepšuje čitelnost a strukturu složitých dotazů, umožňuje jejich rozdělení na logické části.
Použití:
- Zjednodušení složitých dotazů s vloženými poddotazy.
- Implementace rekurzivních dotazů (například průchod hierarchiemi).
- Opakované použití stejného poddotazu na více místech hlavního dotazu.
Příklad použití CTE:
WITH RecentOrders AS (
SELECT OrderID, CustomerID, OrderDate
FROM Orders
WHERE OrderDate > '2024-01-01'
)
SELECT CustomerID, COUNT(*) AS OrderCount
FROM RecentOrders
GROUP BY CustomerID;
V C# při práci s databázemi přes ORM nebo ADO.NET lze používat CTE v SQL dotazech ke zvýšení efektivity a pohodlí práce s daty.