Ваши варианты делают разные вещи. Первый возвращает результаты второго запроса, если первый запрос выполняется правильно (что, кстати, независимо от результатов, которые он возвращает, может возвращать пустой набор строк). Второй возвращает результаты первого запроса и второго запроса вместе. Первый вариант кажется мне довольно бесполезным, вероятно, чего вы хотите добиться, так это то, что вы сделали с UNION (если я вас не понял).
РЕДАКТИРОВАТЬ: После прочтения вашего комментария, я думаю, что вы после чего-то вроде этого:
SELECT true, где (EXISTS (SELECT field1, field2 ...) И EXISTS (SELECT Field1, field2 ...)).
Таким образом, у вас будет только один запрос к БД, который лучше масштабируется, потребляет меньше ресурсов из пула соединений и не удваивает влияние задержки, если у вас есть механизм БД на другом сервере, но вы все равно будете прервите запрос, если первое условие не выполнено, что является повышением производительности, которое вы ищете во вложенных разделенных запросах.
В качестве оптимизации попробуйте сначала создать условие, которое будет выполняться быстрее, если они не совпадают. Я предполагаю, что если один из них потребует, эти полевые вычисления будут выполняться медленнее.