detto brevemente vuoi ricavare i record della tab2 che non hanno il riferimento con la tab1.
Prova con un left join:
in tab2 Prodotto_ID e' NULL perche' sono valorizzati gli ID dei soli prodotti associati. Quindi NON sono nella logica ulteriori scelte sui record di tab2.codice:select * from tab1 left join tab2 using(Prodotto_ID) where tab2.Prodotto_ID IS NULL and tab1.tuo_campo = '$ciccio' /// esempio per ulteriore condizione order by tab1.Prodotto_id
Se invece tu avessi dei record con ID valorizzato ma non associato alla tab1 allora dovresti invertire nella query le tabelle, cioe' tab1 diventa tab2 e viceversa.