A Set<T> containing elements contained in both set1 and set2.
The intersection operator returns a Set<T> containing elements contained in both set1 and set2. The element type of the resulting set is the most specialised common type of the element type of set1 and set2 (the current implementation restricts set1 and set2 to having the same element type, hence the element type of the resulting Set<T> is identical to the element type of both source sets).
The query engine uses cross-filtering to conduct the resulting query. Both source sets must therefore have the same element type and apply the same projections (if any). The resulting query is then defined by the query
[projection]extentof(T)[filter1 && filter2]
where projection is the same projection applied to both sets, T is the element type of the source sets, filter1 is the filter criteria (if any) applied to set1 and filter2 is the filter criteria applied to set2. This method of conducting the resulting query is referred to as cross-filtering set1 with set2.
[Name]extentof(Person)[Age >= 19] * [Name]extentof(Person)[Age <= 49]
SELECT * FROM Animal LEFT JOIN Cage ON Animal.CageId = Cage.Id