Sobes.tech
Middle

Care este diferența dintre JOIN, LEFT JOIN și RIGHT JOIN?

sobes.tech AI

Răspuns de la AI

JOIN este o operație în SQL care combină rândurile din două tabele pe baza condiției de potrivire a valorilor în coloanele specificate.

  • JOIN (sau INNER JOIN) returnează doar acele rânduri care au potriviri în ambele tabele.
  • LEFT JOIN returnează toate rândurile din tabelul din stânga și rândurile corespunzătoare din dreapta. Dacă nu există potriviri, coloanele din tabelul din dreapta vor fi NULL.
  • RIGHT JOIN returnează toate rândurile din tabelul din dreapta și cele corespunzătoare din stânga, cu NULL acolo unde nu există potriviri.

Exemplu:

SELECT * FROM A
JOIN B ON A.id = B.a_id; -- doar potrivirile

SELECT * FROM A
LEFT JOIN B ON A.id = B.a_id; -- tot din A + potrivirile din B

SELECT * FROM A
RIGHT JOIN B ON A.id = B.a_id; -- tot din B + potrivirile din A