Een CTE voor hoogbetaalde IT-functies
In de vorige oefening heb je een CTE gemaakt om IT-functies te vinden. Nu combineer je deze resultaten met een andere CTE op de tabel salary. Je gebruikt meerdere CTE-definities in één query. Let op: er wordt een komma gebruikt om de CTE-definities te scheiden. De tabel salary bevat extra informatie over de ID en het salary van medewerkers. Je taak is om een tweede CTE, ITsalary, te maken en beide CTE-tabellen te JOINen op de ID van de medewerkers. De JOIN moet alleen records selecteren die overeenkomende waarden in beide tabellen hebben. Tot slot is het de bedoeling om alleen medewerkers te vinden die meer dan 3000 verdienen.
Deze oefening maakt deel uit van de cursus
Hiërarchische en recursieve queries in SQL Server
Oefeninstructies
- Definieer de tweede CTE,
ITsalary, met de veldenIDenSalary. - Zoek salarissen boven de
3000. - Combineer de twee CTE's met een
JOINop overeenkomendeIDs en selecteer de naam, het salaris en de functie van de geselecteerde medewerkers.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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;