Junior — Middle
Hogyan viselkednek a jobb oldali táblából származó mezők értékei a LEFT JOIN eredményében, ha nincs megfelelő rekord benne?
sobes.tech MI
Válasz az MI-től
SQL-ben a LEFT JOIN végrehajtásakor az eredmény tartalmazza a bal oldali tábla összes rekordját, valamint csak azokat, amelyek megfelelnek a csatlakozási feltételnek a jobb oldali táblában. Ha egy bal oldali sorhoz nem található megfelelő rekord a jobb oldali táblában, akkor a jobb oldali mezők értékei az eredményben NULL-ként jelennek meg.
Például, ha van egy users és egy orders nevű táblád, és így végzed:
SELECT users.id, orders.id
FROM users
LEFT JOIN orders ON users.id = orders.user_id;
Azoknál a felhasználóknál, akiknek nincs rendelése, az orders.id mező NULL lesz.
Go nyelvben, az ilyen eredmények szkennelésekor fontos figyelembe venni a NULL értékek lehetőségét, például sql.NullString, sql.NullInt64 típusokat használva, hogy helyesen kezeljük a jobb oldali tábla hiányzó adatait.