Sobes.tech
Junior — Middle

Կարող եք բացատրել, թե ինչ է ընդհանուր աղյուսակային արտահայտությունը և այն որ իրավիճակներում է կիրառվում:

sobes.tech AI

Պատասխան AI-ից

Ընդհանուր սեղանի արտահայտություն (Common Table Expression, CTE) ժամանակավոր արդյունք է հարցումից, որը կարող է օգտագործվել հիմնական SQL հարցման մեջ: Այն սահմանում է անվանված ենթահարցի արտահայտություն, որը բարելավում է բարդ հարցումների ընթերցելիությունը և կառուցվածքը:

CTE-ն հատկապես օգտակար է՝

  • ռեկուրսիվ հարցումների համար (օրինակ՝ հիերարխիաների անցում):
  • բարդ հարցումները բաժանելով տրամաբանական մասերի:
  • ենթահարցի արդյունքը կրկնակի օգտագործելու համար հիմնական հարցում:

SQL-ում օրինակ՝

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;

Այստեղ CTE-ն օգտագործվում է կատեգորիաների հիերարխիան ռեկուրսիվ անցնելու համար։