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
Instructions de l’exercice
- Définissez la deuxième CTE,
ITsalary, avec les champsIDetSalary. - Trouvez les salaires supérieurs à
3000. - Combinez les deux CTE à l'aide d'un
JOINsur lesIDcorrespondants 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;