Junior — Middle
Рекурсивдик Жалпы Стол Формулалары (CTE) деген эмне жана алар SQL суроолордо кандай колдонулат, түшүндүрүңүз
sobes.tech AI
AIден жооп
Кайталанмачы Жалпы Стол Өрнөктөрү (CTE) — SQLда атайын түрү убактылуу натыйжалар топтому, ал өзүнө шилтеме бере алат жана кайталанма суроолорду аткарууга мүмкүндүк берет. Алар иерархиялык же графтык маалымат түзүмдөрү менен иштөө үчүн пайдалуу, мисалы, категориялар дарагын өтүү, кызматкерлерди баш ийүү боюнча уюштуруу жана башка.
Кайталанмачы CTE эки бөлүктөн турат:
- Негизги суроо — баштапкы саптар топтому.
- Кайталанмачы суроо — мурунку итерациянын натыйжаларын колдонуп, кийинки маалымат деңгээлин алууга мүмкүндүк берет.
Мисал: кызматкерлердин иерархиясында id = 1 болгон бардык баш ийүүчү кызматкерлерди алуу.
WITH RECURSIVE Subordinates AS (
SELECT id, manager_id, name
FROM employees
WHERE id = 1 -- негизги учур
UNION ALL
SELECT e.id, e.manager_id, e.name
FROM employees e
INNER JOIN Subordinates s ON e.manager_id = s.id -- кайталанма учур
)
SELECT * FROM Subordinates;
Бул суроо биринчи кезекте id=1 болгон кызматкерди тандайт, андан соң рекурсивдүү түрдө бардык кызматкерлерди кошот, алардын manager_id'си, ал эми алардын id'си, ал эми алардын менеджеридеги id'си менен дал келген, бүт иерархияны карап чыгуу үчүн.