No hay ningún tipo de join específico que te obtenga lo que quieres, pero puedes conseguirlo de la siguiente manera:
Código:
SELECT adv_zone.id_zone, adv_zone.name, count(al.id_pos)
FROM adv_zone az left join adv_list al on az.id_zone = al.id_pos
group by 1,2
having count(al.id_pos) = 0
Por lo que parece, en un anterior post no sabes que son esos az, al que están puestos: simplemente alias de los nombres de tablas, los usas para acortar el nombre o, incluso, para diferenciar cuando cruzas una tabla consigo misma.
Esto lo que hace es cruzar las dos tablas y quedarse con aquellas filas de adv_zone que no tienen ningún registro de cruce en adv_list.
Espero que esto te ayude.
Un saludo.