У меня есть 4 разных вида, которые будут предоставлять данные в том же формате. Мое требование - написать один запрос, который объединит данные из всех этих четырех представлений с данными из другой таблицы «Таблица 1» таким образом, что если эти данные в «Таблице 1» уже присутствуют в любом из четырех представлений (с использованием некоторого id) то я не должен добавлять его в конечный результат.Объединение данных из разных представлений в одно заявление sql
Для например: View1, View2, View3, View4, Table1
Мой конечный результат должен быть
(View1 + View2 + View3 + View4 + (Table1- (View1 + View2 + View3 + View4))
Так запрос, который я написал, как менее одного
selet * from view1 union
select * from view2 union
select * from view3 union
select * from view4 union
select * from Table1 where Table1.Id Not in
(select Id from view1 union
select Id from view2 union
select Id from view3 union
select Id from view4 union)
Есть ли какие-либо лучшие способы создания этого запроса, который улучшит производительность, особенно когда есть огромные данные.
По крайней мере, заменить 'union's в' не в' подзапроса с 'профсоюзного all's - вы не забота об уникальности там. – Mureinik