Non sono sicuro del motivo per cui vuoi vietare JOIN poiché è abbastanza essenziale per SQL. È come vietare le chiamate di funzione in un linguaggio funzionale.
Un buon modo per risolvere questo problema è creare un set di risultati contenente gli ID che desideri restituire e unirti ad esso. Ecco un modo per farlo:
SELECT Table1.*
FROM Table1
JOIN (SELECT 1 AS id
UNION ALL SELECT 2
UNION ALL SELECT 3
UNION ALL SELECT 4
UNION ALL SELECT 5
UNION ALL SELECT 1
UNION ALL SELECT 2
UNION ALL SELECT 5
UNION ALL SELECT 5) AS T1
ON Table1.id = T1.id
Non sono sicuro che tu abbia considerato questo metodo? Non ha nessuno dei problemi di cui sembri aver paura.
Se escludi i join non puoi farlo a meno che non utilizzi una stored procedure, che direi è peggio dell'adesione.