Sobes.tech
Junior

Cum funcționează SQL Join?

sobes.tech AI

Răspuns de la AI

JOIN în SQL combină rânduri din două sau mai multe tabele pe baza unei coloane legate între ele. Există mai multe tipuri de JOIN:

  • INNER JOIN: Returnează rândurile în care există potriviri de valori în ambele tabele.
  • LEFT (OUTER) JOIN: Returnează toate rândurile din tabelul din stânga și rândurile corespunzătoare din tabelul din dreapta. Dacă nu există potriviri în tabelul din dreapta, se returnează valori NULL pentru coloanele din tabelul din dreapta.
  • RIGHT (OUTER) JOIN: Returnează toate rândurile din tabelul din dreapta și rândurile corespunzătoare din tabelul din stânga. Dacă nu există potriviri în tabelul din stânga, se returnează valori NULL pentru coloanele din tabelul din stânga.
  • FULL (OUTER) JOIN: Returnează toate rândurile din ambele tabele. Dacă nu există potriviri, se returnează valori NULL pentru coloanele corespunzătoare.
  • CROSS JOIN: Returnează produsul cartezian al celor două tabele (fiecare rând din prima tabel este combinat cu fiecare rând din a doua).

Sintaxa de obicei arată astfel:

SELECT coloană1, coloană2...
FROM tabel1
JOIN tabel2 ON tabel1.coloană_comună = tabel2.coloană_comună;

Exemplu de INNER JOIN:

SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;

Să considerăm tabelele customers și orders:

customers

customer_id customer_name
1 Alice
2 Bob
3 Charlie

orders

order_id customer_id amount
101 1 100
102 2 150
103 1 200
104 4 50

Rezultatul INNER JOIN va fi:

order_id customer_name
101 Alice
102 Bob
103 Alice

Rezultatul LEFT JOIN (orders LEFT JOIN customers):

order_id customer_id amount customer_name
101 1 100 Alice
102 2 150 Bob
103 1 200 Alice
104 4 50 NULL