Which is what that should do. I can't write an identical query, but I can do one off of a table I have. I use a set of keywords that are applied in many to many to servers, so if I want to find unused keywords than I write as:
FROM Keywords k
LEFT JOIN ServerKeyword s ON k.Keyword = s.Keyword
WHERE s.Keyword Is Null
Which gives me a list results of:
Indicating that none of the above are in use by any associated server. I have a total of about 35 keywords in use by various machines, and checking on a WHERE for server 2000 as well as for EPICORE I get no results since I haven't tagged any machines with those.
Granted this isn't on a MySQL machine, but that shouldn't be an issue with the is null check.
If that's not working, you'll have to wait for pedant to come around and fix it up :P