시작하기무료로 시작하기

고연봉 IT 직무를 위한 CTE

이전 연습 문제에서 IT 직무를 찾는 CTE를 만들었죠. 이제 이 결과를 salary 테이블을 사용하는 또 다른 CTE와 결합해 보겠습니다. 하나의 쿼리에서 여러 CTE를 정의할 것이며, 각 CTE 정의는 쉼표로 구분된다는 점에 주의하세요. salary 테이블에는 직원의 IDsalary에 대한 추가 정보가 들어 있습니다. 여러분의 과제는 ITsalary라는 두 번째 CTE를 만들고, 직원 ID를 기준으로 두 CTE 테이블을 JOIN하는 것입니다. 이 JOIN은 두 테이블에서 값이 일치하는 레코드만 선택해야 합니다. 마지막으로 3000보다 많이 버는 직원만 찾으세요.

이 연습은 강의의 일부입니다

SQL Server에서의 계층형 및 재귀 쿼리

강의 보기

연습 안내

  • 두 번째 CTE ITsalaryID, Salary 필드로 정의하세요.
  • 3000 초과 급여를 찾으세요.
  • 일치하는 ID로 두 CTE를 JOIN하여 선택된 직원의 이름, 급여, 직무를 선택하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

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;
코드 편집 및 실행