You're getting empty strings. That means the links.name
field in the record isn't NULL, it's an empty string. coalesce() only triggers if you're actually using a full-blowin SQL NULL
value. Empty strings aren't null, they're just strings that happen to be empty.
Probably this'd work
SELECT IF(links.name='', 'noname', links.name) AS owner