Middle
Mennyi minimálisan és maximálisan visszatérő sorokat ad a SELECT * FROM A LEFT JOIN B kérés?
sobes.tech MI
Válasz az MI-től
A SELECT * FROM A LEFT JOIN B lekérdezés minden sort visszaad az A táblából és a B táblában a hozzá tartozó sorokat. Ha egy A sorhoz nincs megfelelő B sor, akkor a B mezők NULL értéket vesznek fel.
- Minimális sorok száma: 0, ha az A tábla üres.
- Maximális sorok száma: az A sorainak száma szorozva a B-ben az A minden sorához tartozó megfelelő sorok számával, de mivel a LEFT JOIN nem duplikálja az A sorokat, ha nincs megfelelés, a maximális sorok száma megegyezik az A sorainak számával, ha nincs több megfelelés a B-ben.
Gyakorlatban, ha minden A sorhoz több megfelelés van B-ben, akkor a sorok száma ezek összegével egyezik meg. Ha nincs megfelelés, akkor a sorok száma megegyezik az A sorainak számával.
Példa:
| A.id | B.a_id |
|---|---|
| 1 | 1 |
| 1 | 1 |
| 2 | NULL |
Itt, az A.id=1 esetén 2 megfelelés van B-ben; az A.id=2 esetén nincs megfelelés, összesen 3 sor van.