НачатьНачать бесплатно

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;
Редактировать и запускать код