penso di andare giù la strada giusta con questo ... Si prega di portare con me come il mio SQL non è il massimoSELECT * DOVE NON ESISTE
Sto cercando di interrogare un database per selezionare tutto da una tabella in cui alcune celle non esistono in un'altra. Che molto non fare un sacco di senso, ma spero questo pezzo di codice
SELECT * from employees WHERE NOT EXISTS (SELECT name FROM eotm_dyn)
Quindi, fondamentalmente ho una tabella con l'elenco dei dipendenti e dei loro dettagli. Poi un'altra tabella con altri dettagli, incluso il loro nome. Dove il nome non è nella tabella eotm_dyn, il che significa che non c'è una voce per loro, mi piacerebbe vedere esattamente chi sono, o in altre parole, vedere cosa manca esattamente.
La query sopra riportata non restituisce nulla, ma so che mancano i nomi 20ish quindi ovviamente non ho ottenuto il risultato giusto.
Qualcuno può aiutare?
Ho bisogno di "DOVE NON ESISTE" due volte all'anno, e ho sempre dimenticato come usarlo esattamente. Grazie - questo esempio verrà contrassegnato come preferito. – Mateng
Qualcuno potrebbe fornire un riferimento per "LEFT JOIN + Il filtro NULL è meno efficiente di NOT EXISTS"? Può essere ovvio, ma non l'ho mai visto nei documenti. Grazie. – toni07
@ toni07 In realtà, questa è una leggenda. LEFT JOIN vince.https://explainextended.com/2009/09/18/not-in-vs-not-exists-vs-left-join-is-null-mysql/ .. Il blog di Quassnoi è sempre una risorsa utile. – Kaii