Junior — Middle
Museli ste niekedy použiť výrazy spoločnej tabuľky (CTE) v SQL dotazoch?
sobes.tech AI
Odpoveď od AI
Áno, výrazy spoločnej tabuľky (CTE) sa často používajú na zlepšenie čitateľnosti a štruktúry zložitých SQL dopytov. CTE umožňujú definovať dočasný pomenovaný výsledok, ktorý možno použiť v rámci hlavného dopytu.
Príklad použitia CTE na výpočet rekurzívneho hierarchického dopytu:
WITH RecursiveCTE AS (
SELECT Id, ParentId, Name
FROM Categories
WHERE ParentId IS NULL
UNION ALL
SELECT c.Id, c.ParentId, c.Name
FROM Categories c
INNER JOIN RecursiveCTE r ON c.ParentId = r.Id
)
SELECT * FROM RecursiveCTE;
V Pythone, pri práci s databázami cez knižnice (napríklad psycopg2 pre PostgreSQL), je možné použiť CTE v SQL dopytoch na zjednodušenie logiky a zvýšenie výkonu.