Cómo optimizar la consulta mysql obteniendo categorías y subcategorías

Creé un script que crea un menú con categorías, subcategorías y subcategorías. Para obtener estos elementos, uso 3 consultas MySQL separadas. Como sigue

Para recuperar las categorías principales:

SELECT id, name FROM categories WHERE parent_id=0

Para recuperar las subcategorías para cada categoría que uso:

SELECT id, name FROM categories WHERE parent_id=?

Donde el ? es el id de la categoría padre. Luego ejecuto la consulta nuevamente para cada subcategoría.

¿Cómo puedo optimizar este script para usar menos consultas sql? Gracias de antemano

Respuestas a la pregunta(6)

Su respuesta a la pregunta