Jak uwzględnić „zero” / „0” wyników w agregacie COUNT?

Właśnie trochę utknąłem z SQL. Nie sądzę, żebym potrafił znakomicie sformułować to pytanie - więc pozwól, że ci pokażę.

Mam dwie tabele, jedna nazywa się osoba, druga nazywa się spotkanie. Próbuję zwrócić liczbę spotkań danej osoby (w tym, jeśli mają zero). Spotkanie zawieraperson_id i jestperson_id na spotkanie. WięcCOUNT(person_id) to rozsądne podejście.

Zapytanie:

SELECT person_id, COUNT(person_id) AS "number_of_appointments" 
FROM appointment 
GROUP BY person_id;

Zwróci poprawnie, liczbę spotkań, które osoba_id ma. Jednak osoba, która ma 0 spotkań, nie jest zwracana (oczywiście, ponieważ nie ma ich w tej tabeli).

Poprawianie instrukcji, aby wziąć person_id z tabeli osób, daje mi coś takiego:

SELECT person.person_id, COUNT(appointment.person_id) AS "number_of_appointments"
FROM appointment
JOIN person ON person.person_id = appointment.person_id
GROUP BY person.person_id;

To jednak nadal zwróci tylko person_id, który ma spotkanie, a nie to, czego chcę, czyli zwrot z osobami, które mają 0 spotkań!

Wszelkie sugestie proszę?

questionAnswers(5)

yourAnswerToTheQuestion