Doing a join to search geolocation points in zones
This should do it:

SELECT p.id, latitude, longitude, z.id, z.name
  FROM points p
  LEFT JOIN zones z
    ON ( latitude BETWEEN LAT_S AND LAT_N
          AND
         longitude BETWEEN LONG_W AND LONG_E ) ;


[EDIT]

Per your comment, suppose you want to add a FK column to your points table that associates the point to its zone id.  There are some reasons why this would be not recommended, such as if your zone boundaries could ever change, you would have incorrect/inconsistent data.  However for raw performance, maybe you want the zone id denormalized into the points table, keeping in mind that it's like a cached zone id.  The MIN() operator is there to protect you in case you have two zones overlapping.  In that case, you've got bigger problems, but at least the UPDATE works, and picks the lower zone id by fiat.

ALTER TABLE points ADD (zone_id int references zone(id));

UPDATE points SET zone_id = 
( SELECT MIN(z.id)
  FROM zones z
  WHERE latitude BETWEEN LAT_S AND LAT_N
          AND
        longitude BETWEEN LONG_W AND LONG_E
);