ÎncepețiÎncepe gratuit

Un CTE pentru pozițiile IT bine plătite

În exercițiul anterior, ai creat un CTE pentru a găsi pozițiile IT. Acum vei combina aceste rezultate cu un alt CTE pe tabela salary. Vei folosi mai multe definiții CTE într-o singură interogare. Observă că o virgulă este folosită pentru a separa definițiile interogărilor CTE. Tabela salary conține informații suplimentare despre ID-ul și salariul angajaților. Sarcina ta este să creezi un al doilea CTE numit ITsalary și să realizezi un JOIN între cele două tabele CTE pe baza ID-ului angajaților. JOIN-ul trebuie să selecteze doar înregistrările care au valori corespondente în ambele tabele. În final, trebuie să găsești doar angajații care câștigă mai mult de 3000.

Acest exercițiu face parte din cursul

Interogări ierarhice și recursive în SQL Server

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește al doilea CTE, ITsalary, cu câmpurile ID și Salary.
  • Găsește salariile de peste 3000.
  • Combină cele două CTE-uri folosind un JOIN pe ID-urile corespondente și selectează numele, salariul și poziția angajaților selectați.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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;
Editează și rulează codul