SELECT 
    c.name AS city_name,
    SUM(s.value) AS sales_total
FROM
    city c
LEFT OUTER JOIN
    sales s
ON
(
    c.id = s.city_id                                  -- поле "id" слева, эти значения всегда существуют
    AND
    s.day >= DATE_SUB(NOW(), INTERVAL 1 MONTH)        -- условие перед группировкой ("join condition")
)
GROUP BY
    c.id                                              -- группировка по номерам и названиям городов
ORDER BY
    c.name                                            -- упорядочить по названиям городов, "A..Z"
