CTE для высокооплачиваемых IT-должностей
В предыдущем упражнении вы создали CTE для поиска IT-должностей. Теперь объедините эти результаты с ещё одним CTE на основе таблицы salary. Вы будете использовать несколько определений CTE в одном запросе. Обратите внимание, что для разделения определений CTE используется запятая. Таблица salary содержит дополнительные сведения об ID и зарплате сотрудников. Ваша задача — создать второй CTE с именем ITsalary и объединить обе CTE-таблицы по полю ID сотрудников. JOIN должен выбирать только записи с совпадающими значениями в обеих таблицах. В итоге нужно отобрать только тех сотрудников, чья зарплата превышает 3000.
Это упражнение является частью курса
Иерархические и рекурсивные запросы в SQL Server
Инструкции к упражнению
- Определите второй CTE,
ITsalary, с полямиIDиSalary. - Найдите зарплаты выше
3000. - Объедините два CTE с помощью
JOINпо совпадающим значениямIDи выберите имя, зарплату и должность отобранных сотрудников.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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;