為高薪 IT 職缺建立 CTE
在上一個練習中,你建立了 CTE 來找出 IT 職缺。現在,請把這些結果與 salary 資料表上的另一個 CTE 結合。你會在單一查詢中使用多個 CTE 定義,並以逗點分隔各個 CTE 定義。salary 資料表包含員工的 ID 與 salary 等資訊。你的任務是建立第二個名為 ITsalary 的 CTE,並在員工 ID 上 JOIN 這兩個 CTE。此 JOIN 應只選出在兩個表中都有相符值的紀錄。最後,找出薪資高於 3000 的員工。
本練習屬於課程
SQL Server 的階層式與遞迴查詢
練習說明
- 定義第二個 CTE
ITsalary,欄位為ID與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;