Bắt đầu ngayBắt đầu miễn phí

CTE cho vị trí IT lương cao

Ở bài trước, bạn đã tạo một CTE để tìm các vị trí IT. Giờ bạn sẽ kết hợp các kết quả đó với một CTE khác trên bảng salary. Bạn sẽ dùng nhiều định nghĩa CTE trong một truy vấn duy nhất. Lưu ý dấu phẩy được dùng để tách các định nghĩa truy vấn CTE. Bảng salary chứa thêm thông tin về IDsalary của nhân viên. Nhiệm vụ của bạn là tạo CTE thứ hai tên ITsalaryJOIN cả hai bảng CTE theo ID của nhân viên. JOIN phải chỉ chọn các bản ghi có giá trị khớp ở cả hai bảng. Cuối cùng, hãy tìm chỉ những nhân viên có thu nhập lớn hơn 3000.

Bài tập này là một phần của khóa học

Truy vấn phân cấp và đệ quy trong SQL Server

Xem khóa học

Hướng dẫn bài tập

  • Định nghĩa CTE thứ hai, ITsalary, với các trường IDSalary.
  • Tìm các mức lương trên 3000.
  • Kết hợp hai CTE bằng JOIN trên các ID khớp nhau và chọn tên, lương, và vị trí của các nhân viên được chọn.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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;
Chỉnh sửa và Chạy Mã