JOINS în SQL Server: Tutorial cu exemple

Putem prelua date din mai multe tabele folosind instrucțiunea JOIN. Există în principal 4 tipuri diferite de JOINS în serverul SQL. Vom învăța toate JOINS în SQL Server cu exemple:

  • INNER JOIN/simple join
  • LEFT OUTER JOIN/LEFT JOIN
  • RIGHT OUTER JOIN/RIGHT JOIN
  • UNIRE EXTERIOR COMPLET

INNER JOIN

Acest tip de server SQL JOIN returnează rânduri din toate tabelele în care condiția de îmbinare este adevărată. Este nevoie de următoarea sintaxă:

SELECT columns
FROM table_1 
INNER JOIN table_2
ON table_1.column = table_2.column;

Vom folosi următoarele două tabele pentru a demonstra acest lucru:

Tabelul elevilor:

INNER JOIN

Tabel de taxe:

INNER JOIN

Următoarea comandă demonstrează un INNER JOIN în serverul SQL cu exemplu:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
INNER JOIN Fee
ON Students.admission = Fee.admission

Comanda returnează următoarele:

INNER JOIN

Putem spune studenților care și-au plătit taxa. Am folosit coloana cu valori comune în ambele tabele, care este coloana de admitere.

ÎNTREPRINDERE EXTERIOR STÂNGA

Acest tip de îmbinare va returna toate rândurile din tabelul din stânga plus înregistrările din tabelul din dreapta cu valori care se potrivesc. De exemplu:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
LEFT OUTER JOIN Fee
ON Students.admission = Fee.admission

Codul returnează următoarele:

ÎNTREPRINDERE EXTERIOR STÂNGA

Înregistrările fără valori care se potrivesc sunt înlocuite cu NULL în coloanele respective.

UNIRE EXTERIOR DREAPTA

Acest tip de îmbinare returnează toate rândurile din tabelul din dreapta și numai cele cu valori care se potrivesc în tabelul din stânga. De exemplu:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
RIGHT OUTER JOIN Fee
ON Students.admission = Fee.admission

Declarația pentru serverul SQL OUTER JOINS returnează următoarele:

UNIRE EXTERIOR DREAPTA

Motivul pentru rezultatul de mai sus este că toate rândurile din tabelul de taxe sunt disponibile în tabelul Studenți atunci când se potrivesc în coloana de admitere.

UNIRE EXTERIOR COMPLET

Acest tip de îmbinare returnează toate rândurile din ambele tabele cu valori NULL în care condiția JOIN nu este adevărată. De exemplu:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
FULL OUTER JOIN Fee
ON Students.admission = Fee.admission

Codul returnează următorul rezultat pentru interogările FULL OUTER JOINS în SQL:

UNIRE EXTERIOR COMPLET