Запрос такой:
SELECT FriendID FROM Relationships WHERE UserID = 1
INTERSECT
(SELECT FriendID FROM Relationships WHERE UserID = 2
UNION SELECT UserID FROM Relationships WHERE FriendID = 2)
(для любопытных читателей, пожалуйста, обратите внимание, что отношения дружбы не обязательно симметричны в этом сценарии)
Я перепробовал всевозможная комбинация круглых скобок без удачи.
Если я опущу круглые скобки, нет никакого приоритета оператора в том смысле, что он читает его как 5 + 6 * 3 = 33, поэтому, если я поставлю объединение перед пересечениемзапрос работает нормально.Но что я буду делать, когда мне придется пересечь два союза?