Dlaczego tak
LEFT JOIN zachowuje każdego klienta, także bez zamówień; dla Kowala kolumny tabeli zamowienia przyjmują wartość NULL. Funkcja COUNT(z.id) liczy tylko wartości różne od NULL, więc dla Kowala zwraca 0. Wynik 1 dałoby COUNT(*), które liczy wiersze, w tym ten jeden wiersz z wartościami NULL, a pominięcie Kowala nastąpiłoby przy złączeniu INNER JOIN.