Я не уверен, почему вы хотите запретить JOIN, поскольку он довольно важен для SQL. Это похоже на запрет вызовов функций на функциональном языке.
Хороший способ решить эту проблему - создать набор результатов, содержащий идентификаторы, которые вы хотите вернуть, и присоединиться к нему. Вот один из способов сделать это:
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
Я не уверен, что вы рассматривали этот метод? У него нет ни одной проблемы, которой вы, кажется, боитесь.
Если вы запрещаете присоединения, вы не сможете этого сделать, если не используете хранимую процедуру, что, я бы сказал, хуже присоединения.