Hola:
Al hacer este tipo de join, definitivamente te relacionara los campos que tengan aunque sea una sola relación, si no existen códigos idénticos existentes en ambas tablas, no te lo mostrará. Pongo el DISTINCT para que no se repita el nombre de la publicación que deseas:
Cita: select DISTINCT n.not_pub_id,pub_nombre AS nombre
from publicacion p,noticia n
where p.pub_id=n.not_pub_id;
Espero que sea lo que desees...
Saluditos