CTE dla dobrze płatnych stanowisk IT
W poprzednim ćwiczeniu utworzyłeś CTE, aby znaleźć stanowiska IT. Teraz połączysz te wyniki z kolejnym CTE opartym na tabeli salary. Użyjesz wielu definicji CTE w jednym zapytaniu. Zwróć uwagę, że do oddzielenia definicji zapytań CTE używa się przecinka. Tabela salary zawiera dodatkowe informacje o ID i wynagrodzeniu pracowników. Twoim zadaniem jest utworzenie drugiego CTE o nazwie ITsalary oraz złączenie obu tabel CTE po ID pracowników. JOIN powinien zwracać tylko rekordy mające pasujące wartości w obu tabelach. Na koniec wyfiltruj wyłącznie pracowników zarabiających więcej niż 3000.
To ćwiczenie jest częścią kursu
Hierarchiczne i rekurencyjne zapytania w SQL Server
Instrukcje do ćwiczenia
- Zdefiniuj drugi CTE,
ITsalary, z polamiIDiSalary. - Znajdź wynagrodzenia powyżej
3000. - Połącz oba CTE za pomocą
JOINpo pasującychIDi wybierz imię, wynagrodzenie oraz stanowisko wybranych pracowników.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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;