Se me ocurre algo así:
Código SQL
[-]
select * from Libros
left outer join Editoriales on (Libros.Editorial = Editoriales.Codigo)
where Libros.Titulo like :Busqueda or Editoriales.Nombre like :Busqueda
luego en delphi:
Código Delphi
[-]
Query.ParamByName('Busqueda').AsString := Edit1.Text + '%';
Query.Open;