Los inner join se hacen con otras tablas de la base de datos... El FOR ALL ENTRIES creo q se usa solo con una tabla interna.! Esa creo es una diferencia.!
Te coloco un ejemplo de Inner Join:
form find_data.
data columns type string.
data ls_outtab type e_outtab.
data indx type sy-tabix.
data ls_color type lvc_s_scol.
columns = `mseg~matnr mseg~werks mseg~bwart `
& ` mseg~mblnr mseg~menge mseg~ebelp `
& ` mseg~lgort mkpf~budat mseg~zeile`
& ` mseg~erfme mseg~shkzg `.
select (columns) into corresponding fields of table gt_outtab
from ( mseg inner join mkpf on
mseg~mblnr = mkpf~mblnr and
mkpf~budat >= p_budat-low and
mkpf~budat <= p_budat-high
)
where
mseg~matnr <> space and
mseg~matnr in p_matnr and
mseg~werks = p_werks and
mseg~lgort in p_lgort and
mseg~bwart in p_bwart.
endform.
Saludos!