Да но не забудте что нужно потом разбирать все эти данный что крайне будет не удобно!!!Полностью согласен. Если названия и типы столбцов всех таблиц одинаковы (хотя, если не изменяет память, при UNION названия и типы столбцов результсета определяются по первому SELECT'у), все должно работать. Названия столбцов во 2-м и 3-м SELECTах "причесываются" AS'ом. Типы - CAST'ом. Если в какой-то таблице недостает столбца - добавляется константа нужного типа.
Выход выполнить три запроса и не париться...
Ясно что UNION выполнит все запросы, которые он соединяет. Просто иногда важнее не скорость или время выполнения запроса, а оставить всё в модели СУБД, не выносить логику "если так, то выбрать из таблицы t1, иначе выбрать из таблицы t2" в какой то отдельный скрипт. А сделав UNION, всегда можно быть уверенным, что выполнится заданный через UNION if-then-else. За это и приходится платить - в данном случае будет дольше, но универсальней.