The following query only returns Region Names for regions where there have been orders.
SELECT r.RegionName,
COUNT (DISTINCT o.uid)
FROM Orders AS o
LEFT JOIN Customers AS c ON o.CustomerID = c.uid
LEFT JOIN Regions AS r ON c.Region = r.uid
WHERE (r.RegionName NOT LIKE 'NULL')
AND (r.RegionName <> '')
AND (r.RegionName NOT LIKE 'Region 1')
AND (o.DateOrdered LIKE '7%2011%')
GROUP BY r.RegionName
ORDER BY r.RegionName
How can I modify it so that all region names show up even when the "COUNT" is "0"?