Uma CTE para cargos de TI com altos salários
No exercício anterior, você criou uma CTE para encontrar cargos de TI. Agora, você vai combinar esses resultados com outra CTE na tabela salary. Você usará várias definições de CTE em uma única consulta. Note que uma vírgula é usada para separar as definições das CTEs. A tabela salary contém mais informações sobre o ID e o salary dos funcionários. Sua tarefa é criar uma segunda CTE chamada ITsalary e fazer um JOIN entre as duas CTEs usando o ID dos funcionários. O JOIN deve selecionar apenas registros com valores correspondentes em ambas as tabelas. Por fim, a tarefa é encontrar somente os funcionários que ganham mais de 3000.
Este exercício faz parte do curso
Consultas Hierárquicas e Recursivas no SQL Server
Instruções do exercício
- Defina a segunda CTE,
ITsalary, com os camposIDeSalary. - Encontre salários acima de
3000. - Combine as duas CTEs usando um
JOINporIDs correspondentes e selecione o nome, o salário e o cargo dos funcionários selecionados.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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;