Bạn có thể nên biểu thị các quốc gia / thành phố dưới dạng đa giác trong DB, sau đó sử dụng các hàm giao cắt đa giác kiểu OpenGIS để giao nhau.
Nhưng , MySQL không thực hiện giao cắt đa giác đúng cách (chỉ MBR - Hình chữ nhật giới hạn tối thiểu). Vì vậy, cách tiếp cận này, mặc dù đúng về mặt lý thuyết, đơn giản là sẽ không phù hợp với bạn với MySQL. Bạn có thể muốn xem xét chuyển sang Postgres.
Những gì bạn có thể làm là sử dụng các khả năng giao nhau MBR của DB và bổ sung chúng bằng mã của riêng bạn để tạo giao điểm đa giác / điểm (bạn có thể tìm các thư viện thực hiện điều này).