У меня есть запрос, который я пишу в MS-SQL, который должен проверить, есть ли информация о клиенте уже в таблице перед его вставкой. Если один объект изменился, строка будет вставлена. Возникают вопросы: могу ли я объединить операторов в разделе where? Сейчас у меня есть запрос, который выглядит следующим образом:sql объединяет несколько операторов
select * from @Temp c
where exists (select * from Clients c2
where (c.ClientId = c2.ClientId and c.ClientFName <> c2.FirstName)
or (c.ClientId = c2.ClientId and c.ClientLName <> c2.LastName)
or (c.ClientId = c2.ClientId and c.ClientAddress <> c2.Address)
or (c.ClientId = c2.ClientId and c.ClientCity <> c2.City)
or (c.ClientId = c2.ClientId and c.ClientState <> c2.State)
or (c.ClientId = c2.ClientId and c.ClientZip <> c2.Zip)
Есть ли преимущество или недостаток в написании запроса, как это:
select * from @Temp c
where exists (select * from Clients c2
where (c.ClientId = c2.ClientId
and (c.ClientFName <> c2.FirstName
or c.ClientLName <> c2.LastName
or c.ClientAddress <> c2.Address
or c.ClientCity <> c2.City
or c.ClientState <> c2.State
or c.ClientZip <> c2.Zip)))
Для меня оба запроса работать, но то, что это лучший способ написать это?