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

CTE pro vysoké platy v IT

V předchozím cvičení jsi vytvořil/a CTE pro vyhledání IT pozic. Teď tyto výsledky zkombinuješ s další CTE nad tabulkou salary. V jednom dotazu použiješ více definic CTE. Všimni si, že k oddělení jednotlivých CTE definic se používá čárka. Tabulka salary obsahuje další informace o ID a platu zaměstnanců. Tvým úkolem je vytvořit druhou CTE s názvem ITsalary a propojit obě CTE tabulky pomocí JOIN na základě ID zaměstnanců. JOIN by měl vybrat pouze záznamy s odpovídajícími hodnotami v obou tabulkách. Nakonec vyfiltruj pouze zaměstnance s platem vyšším než 3000.

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

Hierarchical and Recursive Queries in SQL Server

Zobrazit kurz

Pokyny k cvičení

  • Definuj druhou CTE, ITsalary, s poli ID a Salary.
  • Vyber platy vyšší než 3000.
  • Spoj obě CTE pomocí JOIN přes odpovídající ID a vyber jméno, plat a pozici vybraných zaměstnanců.

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

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

WITH ITjobs (ID, Name, Position) AS (
    SELECT 
  		ID, 
  		Name,
  		Position
    FROM employee
    WHERE Position like 'IT%'),
    
-- Define the second CTE table ITsalary with the fields ID and Salary
___ (___, ___) AS (
    SELECT
        ID,
        Salary
    FROM Salary
  	-- Find salaries above 3000
    WHERE ___ ___ 3000)
    
SELECT 
	ITjobs.NAME,
	ITjobs.POSITION,
    ITsalary.Salary
FROM ITjobs
    -- Combine the two CTE tables the correct join variant
    ___ ___ ITsalary
    -- Execute the join on the ID of the tables
    ON ITjobs.ID = ITsalary.ID;
Upravit a spustit kód