Se for um procedimento que você está escrevendo, tente:
BEGIN
IF ((SELECT COUNT(id) FROM tbl_states) > 0) THEN
SELECT * FROM tbl_cities;
END IF
END
Se for uma consulta,
BEGIN
e END
não tem nada para fazer aqui. Editar
Bem, não há realmente mais a dizer,
IF ((SELECT COUNT(id) FROM tbl_states) > 0) THEN SELECT * FROM tbl_cities; END IF
simplesmente não está respeitando a instrução SELECT
básica do MySQL . Você deve começar com
SELECT
...etc...