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ề ID và salary của nhân viên. Nhiệm vụ của bạn là tạo CTE thứ hai tên ITsalary và JOIN 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
Hướng dẫn bài tập
- Định nghĩa CTE thứ hai,
ITsalary, với các trườngIDvàSalary. - Tìm các mức lương trên
3000. - Kết hợp hai CTE bằng
JOINtrên cácIDkhớ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;