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