Una CTE per posizioni IT ad alta retribuzione
Nel precedente esercizio hai creato una CTE per trovare le posizioni IT. Ora combinerai questi risultati con un’altra CTE sulla tabella salary. Userai più definizioni di CTE in un’unica query. Nota che una virgola viene usata per separare le definizioni delle CTE. La tabella salary contiene ulteriori informazioni sull’ID e sullo salary dei dipendenti. Il tuo compito è creare una seconda CTE chiamata ITsalary e fare il JOIN di entrambe le CTE sull’ID dei dipendenti. Il JOIN deve selezionare solo i record con valori corrispondenti in entrambe le tabelle. Infine, trova solo i dipendenti che guadagnano più di 3000.
Questo esercizio fa parte del corso
Query gerarchiche e ricorsive in SQL Server
Istruzioni dell'esercizio
- Definisci la seconda CTE,
ITsalary, con i campiIDeSalary. - Trova gli stipendi superiori a
3000. - Combina le due CTE usando un
JOINsugliIDcorrispondenti e seleziona nome, stipendio e posizione dei dipendenti selezionati.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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;