Inizia subitoInizia gratis

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

Visualizza corso

Istruzioni dell'esercizio

  • Definisci la seconda CTE, ITsalary, con i campi ID e Salary.
  • Trova gli stipendi superiori a 3000.
  • Combina le due CTE usando un JOIN sugli ID corrispondenti 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;
Modifica ed esegui il codice