开始使用免费开始使用

用于高薪 IT 岗位的 CTE

在上一个练习中,您创建了一个 CTE 来查找 IT 岗位。现在,您将把这些结果与 salary 表上的另一个 CTE 结合使用。您将在一条查询中使用多个 CTE 定义。请注意,CTE 查询定义之间用逗号分隔。salary 表包含关于员工 IDsalary 的更多信息。您的任务是创建第二个名为 ITsalary 的 CTE,并在员工 IDJOIN 这两个 CTE 表。JOIN 应只选择在两张表中都有匹配值的记录。最后,请找出薪资高于 3000 的员工。

本练习是课程的一部分

SQL Server 中的分层与递归查询

查看课程

练习说明

  • 定义第二个 CTE,ITsalary,包含字段 IDSalary
  • 找出高于 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;
编辑并运行代码