Ciao, ho una tabella in cui sono memorizzati dei nominativi, ognuno con un proprio id
ho poi 2 tabelle che fungono da "pilota" tra i nominativi e determinate aree di gestione; nelle tabelle pilota ci possono essere associati più nominativi alla stesso id_area.
La struttura è la seguente:

Tabella "riferimenti"
id | nome | cognome

Tabella "anagrafica_area1"
id_area1 | id_riferimento

Tabella "anagrafica_area2"
id_area2 | id_riferimento

Dovrei recuperare i singoli id, cognome e nome di riferimenti che non sono presenti in nessuna delle tabelle collegate ... è possibile migliorare questa query? (gli id sono forzati perchè tanto prima li ho sempre estratti ... e nel caso specifico dovevo vedere se 1 orfano usciva)

codice:
SELECT distinct(id), cognome, nome from riferimenti 
where NOT EXISTS (
 select anagrafica_area1.id_riferimento from anagrafica_area1 where anagrafica_area1.id_riferimento=riferimenti.id
 union
 select anagrafica_area2.id_riferimento from anagrafica_area2 where anagrafica_area2.id_riferimento=riferimenti.id 
 )
 and id in (30515,46635,47999,48367,48369,48377,48378,48379) order by cognome, nome, id