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:
Tabel de taxe:
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:
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:
Î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:
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: