Sobes.tech
Junior — Middle

El kellett-e már használni közös táblázat kifejezéseket (CTE) SQL-lekérdezésekben?

sobes.tech MI

Válasz az MI-től

Igen, a közös táblázat kifejezések (CTE-k) gyakran használatosak a komplex SQL-lekérdezések olvashatóságának és szerkezetének javítására. A CTE-k lehetővé teszik ideiglenes, névvel ellátott eredmény meghatározását, amelyet a fő lekérdezésen belül lehet használni.

Példa a CTE használatára rekurzív hierarchikus lekérdezés számításához:

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;

Pythonban, adatbázisokkal való munkavégzés során (pl. psycopg2 PostgreSQL-hez) lehet CTE-ket használni SQL-lekérdezésekben a logika egyszerűsítése és a teljesítmény növelése érdekében.