BaşlayınÜcretsiz Başlayın

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ır
Kursu Görüntüle

Egzersiz talimatları

  • ID ve Salary alanlarıyla ikinci CTE olan ITsalary'ı tanımla.
  • 3000 üzerindeki maaşları bul.
  • Eşleşen ID’ler üzerinden iki CTE’yi bir JOIN ile 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;
Kodu Düzenle ve Çalıştır