Hello

I have two tables:
CREATE TABLE photo_albums (
Album_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
Title VARCHAR(255) NOT NULL,
Category_ID INT UNSIGNED NOT NULL,
PRIMARY KEY (Album_ID),
FOREIGN KEY photo_albums_Category_ID_fk (Category_ID) REFERENCES album_categories(Category_ID)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE album_categories (
Category_ID INT UNSIGNED NOT NULL,
Title VARCHAR(255) NOT NULL,
Description VARCHAR(255) NOT NULL,
PRIMARY KEY (Category_ID)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

An album belongs to a specific category using the photo_albums.Category_ID attribute.

I would like to get the list of all the categories in the database (select * from album_categories). For each category, I would like to know how many albums belong to it.

Here was my best attempt:
SELECT album_categories.*, COUNT(distinct photo_albums.Album_ID) FROM album_categories, photo_albums WHERE photo_albums.Category_ID = album_categories.Category_ID GROUP BY Category_ID;

The problem is if I some category is not used in any of the albums, I don't get it back in the results.

Here is what I would like to get:
(Category_ID, Title, Description, num of albums under that categoryID)
(1, Vacations, These are photos from my vacations, 4)
(2, Events, Special events, 0)
...

Note the would like the query to return 0 if no album is using that category.

thanks in advance