Jeg tror, at følgende vil gøre det for dig, selvom jeg ikke har testet det. Tricket er at få egenskabsantallet i én tabel, og derefter til venstre slutte den tabel til bytabellen ved at konvertere NULLs til 0'er ved hjælp af IFNULL funktion.
SELECT city_name, IFNULL(property_count, 0)
FROM cities
LEFT JOIN
(SELECT id_city, count(*) as property_count
FROM properties
GROUP BY id_city) city_properties
USING (id_city);