Začněte nyníZačněte zdarma

Kdo je tvůj manažer?

V tomto cvičení budeme pracovat s datasetem IT organizace, který je uložen v tabulce employee. Tabulka obsahuje sloupce ID (identifikační číslo zaměstnance), Name (jméno zaměstnance) a Supervisor (identifikační číslo nadřízeného).

IT organizace se skládá z různých rolí a úrovní.

A section of the entire hierarchy

Organizace má jednoho IT ředitele (ID=1, Heinz Griesser, Supervisor=0) s mnoha podřízenými zaměstnanci. Pod IT ředitelem najdeš manažera IT architektury (ID=10, Andreas Sternig, Supervisor=1) se třemi podřízenými. Hodnota Supervisor=1 u Andrease Sterniga odpovídá ID IT ředitele.

Nejdříve chceme odpovědět na otázku: Kdo je nadřízený každého zaměstnance?

Tento problém vyřešíme rekurzivním dotazováním nad datasetem.

Toto cvičení je součástí kurzu

Hierarchical and Recursive Queries in SQL Server

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř CTE s názvem employee_hierarchy.
  • Jako počáteční krok CTE vyber informace o IT řediteli – filtruj podle jeho Supervisor ID.
  • Proveď join s tabulkou employee, abys získal/a jméno manažera.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

-- Create the CTE employee_hierarchy
WITH ___ AS (
	SELECT
		ID, 
  		NAME,
  		Supervisor
	FROM employee
  	-- Start with the IT Director
	WHERE ___ = ___
	UNION ALL
	SELECT 
  		emp.ID,
  		emp.NAME,
  		emp.Supervisor
	FROM employee emp
  		JOIN employee_hierarchy
  		ON emp.Supervisor = employee_hierarchy.ID)
    
SELECT 
    cte.Name as EmployeeName,
    emp.Name as ManagerName
FROM employee_hierarchy as cte
	JOIN employee as emp
	-- Perform the JOIN on Supervisor and ID
	ON cte.___ = emp.___;
Upravit a spustit kód