Dokumentacja jest twoim przyjacielem; powinieneś to przeczytać!
To mówi:
IFNULL(expr1,expr2)
Jeśli expr1nie NULL, IFNULL()zwraca expr1; w przeciwnym razie wraca
expr2.
A potem mnóstwo przykładów. Jest to równoważne użyciu warunku trójskładnikowego z porównaniem NULLi podmiotem porównania jako drugim operandem; że nie zdarza się, że używa się symboli ?i :aby cię tam dostać, nie ma znaczenia.
A więc w twoim przypadku:
SELECT IFNULL(`id`, 0) FROM `table`
Jeśli jesteś zdesperowany, aby jawnie podać trzy operandy (dlaczego ?!), przełącz na IF:
SELECT IF(`id` IS NULL, 0, `id`) FROM `table`