Есть набор сущностей в бд. У каждой сущности заданы координаты(обычные числа, как отрицательного, так и положительного диапазона) x и y, двумя полями. Нужно выбрать только те, которые входят в окружность с центром (x, y) и радиусом R. Как это сделать через множество запросов - очевидно, а как сделать одним(парой-тройкой) запросом?
А зачем вам куча запросов? Нужен всего один, но с параметрами и мат. функциями.
Чистая математика, ничего лишнего.
SELECT *
FROM points p
WHERE sqrt(pow(p.x - :x, 2) + pow(p.y - :y, 2)) <= :r -- используем формулу определения расстояния между двумя точками, параметры запроса, которые нужно задать :x, :y, :r.