Sobes.tech
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.