Vamos a hacer una aclaración sobre lo que dice helacer:
1) El problema de sintaxis se produce porque no respetas el orden de las cláusulas.
Toda cláusula modificatoria, de ordenamiento, filtrado o límite van siempre después del WHERE. Siempre.
2) La condición puede ponerse en el WHERE y
no necesariamente en el FROM, aunque hacerlo en el FROM es efectivo si tienes un índice definido sobre el campo "nom_disco"; caso contrario el resultado puede ser el mismo que hacerlo en el WHERE.
3) Lo que necesariamente debe ir en el FROM es la vinculación
entre tablas.
En tu caso la sentencia podría tomar dos formas:
Código MySQL:
Ver original d.nom_disco "DISCOTECA",
count(ad.cod_alb
) "NUMERO DE ALBUMES", album a
USING (cod_alb
) ON d.nom_disco
= "La Zona"
Código MySQL:
Ver original d.nom_disco "DISCOTECA",
count(ad.cod_alb
) "NUMERO DE ALBUMES", WHERE d.nom_disco
= "La Zona"
En definitiva la diferencia entre ambos es una cuestión de índices y performance.