Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Definieer de tweede CTE, ITsalary, met de velden ID en Salary.
  • Zoek salarissen boven de 3000.
  • Combineer de twee CTE's met een JOIN op overeenkomende IDs 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;
Code bewerken en uitvoeren