Yüksek maaşlı BT pozisyonları için bir CTE
Önceki egzersizde, BT pozisyonlarını bulmak için bir CTE oluşturdun. Şimdi, bu sonuçları salary tablosu üzerinde başka bir CTE ile birleştireceksin. Tek bir sorguda birden fazla CTE tanımı kullanacaksın. CTE sorgu tanımlarının virgülle ayrıldığına dikkat et. salary tablosu, çalışanların ID ve salary bilgileri hakkında daha fazla bilgi içerir. Görevin, ITsalary adlı ikinci bir CTE oluşturmak ve her iki CTE tablosunu çalışanların ID alanı üzerinden JOIN etmektir. JOIN, yalnızca her iki tabloda da eşleşen değerlere sahip kayıtları seçmelidir. Son olarak, yalnızca 3000'den fazla kazanan çalışanları bul.
Bu egzersiz
SQL Server'da Hiyerarşik ve Özyinelemeli Sorgular
kursunun bir parçasıdırEgzersiz talimatları
IDveSalaryalanlarıyla ikinci CTE olanITsalary'ı tanımla.3000üzerindeki maaşları bul.- Eşleşen
ID’ler üzerinden iki CTE’yi birJOINile birleştir ve seçilen çalışanların adını, maaşını ve pozisyonunu seç.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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;