CTE для високооплачуваних IT-позицій
У попередній вправі ви створили CTE для пошуку IT-позицій. Тепер ви поєднаєте ці результати з іншим CTE для таблиці salary. Ви використаєте кілька означень CTE в одному запиті. Зверніть увагу: для відокремлення означень CTE використовується кома. Таблиця salary містить додаткову інформацію про ID та salary працівників. Ваше завдання — створити другий CTE з назвою ITsalary і JOIN-нути обидві таблиці 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;