No especificastes que motor de base de datos estas usando. Supongo que usas MySQL con PHP. Yo conozco MSSQL 7.0 en adelante. En este motor, cuando quiero hacer algo así tengo que hacer un join entre la tabla de la subconsulta y la tabla de la consulta (delete en este caso) y usar not exists. Te dejo un ejemplo:
Código:
DELETE FROM avisos WHERE not exists ( SELECT ad_id FROM publicaciones where avisos.ad_id = publicaciones.ad_id)