Почему без c1.Id = c2.Id не работает запрос?
SELECT * FROM Courts c1
WHERE NOT EXISTS (SELECT * FROM Matches m
INNER JOIN Courts c2 ON m.CourtId = c2.Id AND c1.Id = c2.Id)
Я понимаю что можно переписать таким способом
SELECT * FROM Courts
WHERE Id != ALL (SELECT CourtId FROM Matches)
но мне непонятно почему в первом случае без c1.Id = c2.Id запрос даст пустую табличку