1., 2. Para juntar tablas y realizar operaciones entre ellas, debe usar Joinhttp://dev.mysql.com/doc/refman/5.0/en/join.html de lo contrario, su fórmula es correcta. Para crearlo como una columna en su consulta, simplemente escríbalo en la parte de proyección (seleccionar). Ejemplo:
select
population_postcodes.*,
target_postcodes.*,
SQRT( POW(population_postcodes.longitude- target_postcodes.longitude, 2) + POW(population_postcodes.latitude-target_postcodes.latitude, 2) ) as distance
from population_postcodes JOIN target_postcodes
puntos 2 bis. Terminar con Ordenar por nombre_columna asc/deschttp://dev .mysql.com/doc/refman/5.0/en/sorting-rows.html
punto 3. Escribe todo como una sub-query
y seleccione solo lo que necesita en la consulta superior. También mire HAVING
http://dev.mysql.com/doc/refman/5.0 /es/subconsultas.html
http://dev.mysql.com/doc /refman/5.0/es/agrupar-por-extensiones.html
punto 4. busque formas de crear tablas y aplicar lo que se acercó
create table mytablename
select ... my projection columns
from ...
http://dev.mysql.com/doc/refman /5.1/es/crear-tabla.html