Middle
Czym różnią się JOIN, LEFT JOIN i RIGHT JOIN?
sobes.tech AI
Odpowiedź od AI
JOIN to operacja w SQL, która łączy wiersze z dwóch tabel na podstawie warunku dopasowania wartości w określonych kolumnach.
- JOIN (lub INNER JOIN) zwraca tylko te wiersze, które mają dopasowania w obu tabelach.
- LEFT JOIN zwraca wszystkie wiersze z lewej tabeli i odpowiadające im wiersze z prawej. Jeśli dopasowania nie ma, kolumny z prawej tabeli będą NULL.
- RIGHT JOIN odwrotnie, zwraca wszystkie wiersze z prawej tabeli i odpowiadające z lewej, z NULL tam, gdzie dopasowania nie ma.
Przykład:
SELECT * FROM A
JOIN B ON A.id = B.a_id; -- tylko dopasowania
SELECT * FROM A
LEFT JOIN B ON A.id = B.a_id; -- wszystko z A + dopasowania z B
SELECT * FROM A
RIGHT JOIN B ON A.id = B.a_id; -- wszystko z B + dopasowania z A