>But COUNT(*) > >does have meaning - it means "the number of rows".
which rows? :-)
The number of rows in the query, as well you know :)
The reason you can't SELECT *; is because there's no way of defining what "*" refers to in this instance. You don't need to define what (*) is in order to tell that there's exactly one row in it.