Condividi
Selezionare i records che non sono in una tabella
Ho due tabelle del mio database MySql, 'Table1' e 'Table' con le stesse chiavi primarie. Vorrei poter selezionare tutte le righe (records) della prima tabella che non siano presenti anche nella seconda tabella.
Avevo pensato a qualcosa del genere:
Select * from Table1 where not exists in (Select * from Table2 where Table1.id=Table2.id);
C'è un modo migliore per eseguire questa query ed ottenere lo stesso risultato, con una interrogazione più corretta e performante?
In Corso
5
MySql
11-12-2018
1 Risposta
1076 Visite
+1
Risposte ( 1 approvate )
Prova ad usare un LEFT JOIN dove i valori della seconda tabella (per la chiave primaria) siano null, con una sintassi sql del genere:
Il JOIN è molto veloce, e sicuramente più performante di eventuali sub-query. Penso che questo possa fare al caso tuo.