I am trying to optimize the following T-SQL query:
SELECT Person.*
FROM Person
WHERE ZipCode LIKE '123%'
AND City = 'Washington'
AND NumberOfHomes in (1, 2, 3)
AND
(
EXISTS
(
SELECT * FROM House
WHERE Person.ID = House.PersonID
AND House.Type = 'TOWNHOUSE'
AND House.Size = 'Medium'
)
OR
EXISTS
(
SELECT * FROM Color
WHERE Person.ID = Color.PersonID
AND Color.Foreground IN ('Green', 'Blue', 'Purple')
)
)
I'd greatly appreciate any response in optimizing the query.
In particular, is there a way to convert the query into a more efficient query using only a single SELECT statement without any of the inner SELECT statements?
Thanks!
*with1/0.