Вариант 1 (ваш): сначала запросите dbo.RealTime, затем запросите dbo.Query, затем для каждой строки из dbo.Query выполните поиск по dbo.Realtime.
Вариант 2 (UNION): запрос dbo.RealTime, запрос dbo.Query, затем удаление дубликатов.
Помимо того факта, что эти два параметра будут давать разные результаты (первый параметр сохранит дубликаты, полученные из dbo.RealTime и dbo.Query), я бы сказал, что вариант 2, скорее всего, будет меньше ресурсоемкий, поскольку он не должен запрашивать dbo.RealTime дважды - если только (возможно) dbo.RealTime не меньше dbo.Query на порядок.