Sobes.tech
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.