Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj drugi CTE, ITsalary, z polami ID i Salary.
  • Znajdź wynagrodzenia powyżej 3000.
  • Połącz oba CTE za pomocą JOIN po pasujących ID i 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;
Edytuj i uruchom kod