Order results by proximity (with coordinates & radius)
===

Given a database of 4 circles, where each circle have a radius and a geolocated centre:

    id | radius | latitude | longitude
    ---+--------+----------+----------
     1 |      3 |    40.71 |    100.23
     2 |     10 |    50.13 |    100.21
     3 |     12 |    39.92 |    100.20
     4 |      4 |    80.99 |    100.56

Assuming that we are on the circle 2, I would like to find every circle nearby, according to the `latitude`/`longitude` coordinates and the `radius` of each cercles.

For example, according to the latitude/longitude coordinates, we have this order:

 1. circle 1
 2. circle 3
 3. circle 4

But according to the latitude/longitude coordinates and the radius of each cercles, we should have:

 1. circle 3
 2. circle 1
 3. circle 4

Is there a simple way to do so in SQL? Thanks!