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
Pokyny k cvičení
- Definuj druhou CTE,
ITsalary, s poliIDaSalary. - Vyber platy vyšší než
3000. - Spoj obě CTE pomocí
JOINpřes odpovídajícíIDa 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;