Originariamente inviato da homerbit
SELECT * FROM negozi LEFT JOIN escludinegozio ON escludinegozio.idnegozio <> negozi.ID


la LEFT JOIN restituisce tutte le righe della tabella di sinistra , anche se non ci sono corrispondenze in quella di destra
Questa select è errata, in questo modo esegui una cross join moltiplicando i dati in output.

@nikitoz78bs:
Per escludere i risultati della seconda tabella puoi usare una left join controllando i valori che non corrispondono:

codice:
SELECT * FROM negozi LEFT JOIN escludinegozio ON escludinegozio.idnegozio = negozi.ID where escludinegozio.id is null
Oppure semplicemente usare una where/not in:

codice:
SELECT * FROM negozi where id not in (select idnegozio from escludinegozio)
O ancora una where/not exists:

codice:
SELECT * FROM negozi as n where not exists (select idnegozio from escludinegozio where idnegozio=n.id)