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.