Das ist völlig normal und kein Fehler. Ein (INNER) JOIN verknüpft jede passende Kombination. Wenn ein Kunde drei Bestellungen hat, erscheint dieser Kunde drei Mal im Ergebnis – einmal pro zugehöriger Bestellung. Die Anzahl der Ergebniszeilen richtet sich also nach der Anzahl der Bestellungen, nicht der Kunden.
Stell es dir so vor: Du fragst nicht 'Liste die Kunden', sondern 'Liste alle Bestellungen mitsamt Kundendaten'. Dass sich die Kundendaten wiederholen, gehört dazu.