CommencezCommencez gratuitement

Une CTE pour les postes TI bien rémunérés

Dans l'exercice précédent, vous avez créé une CTE pour trouver des postes en TI. Maintenant, vous combinerez ces résultats avec une autre CTE sur la table salary. Vous utiliserez plusieurs définitions de CTE dans une seule requête. Remarquez qu'une virgule est utilisée pour séparer les définitions de requêtes de CTE. La table salary contient plus d'information sur l'ID et le salary des employés. Votre tâche est de créer une deuxième CTE nommée ITsalary et de faire un JOIN des deux tables CTE sur l'ID des employés. Le JOIN doit sélectionner uniquement les enregistrements ayant des valeurs correspondantes dans les deux tables. Enfin, il faut trouver seulement les employés qui gagnent plus de 3000.

Cette activité fait partie du cours

Requêtes hiérarchiques et récursives dans SQL Server

Voir le cours

Instructions de l’exercice

  • Définissez la deuxième CTE, ITsalary, avec les champs ID et Salary.
  • Trouvez les salaires supérieurs à 3000.
  • Combinez les deux CTE à l'aide d'un JOIN sur les ID correspondants et sélectionnez le nom, le salaire et le poste des employés retenus.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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;
Modifier et exécuter le code