Abaixo está uma instrução que descreve uma tarefa de geração de SQL, combinada com uma entrada que fornece mais contexto sobre os esquemas de tabela disponíveis. Escreva o código SQL que responda adequadamente à solicitação
 ###Instrução: Qual é a velocidade média dos navios registrados em Cingapura no Mar do Caribe ao longo do último ano?
 ###Tabelas: 
CREATE TABLE ports (port_id INT, port_name VARCHAR(255), country VARCHAR(255)); INSERT INTO ports VALUES (1, 'Kingston', 'Jamaica'); INSERT INTO ports VALUES (2, 'Willemstad', 'Curacao'); CREATE TABLE vessel_movements (movement_id INT, vessel_id INT, port_id INT, movement_timestamp TIMESTAMP); INSERT INTO vessel_movements VALUES (1, 301, 1, '2021-06-01 10:00:00'); INSERT INTO vessel_movements VALUES (2, 302, 2, '2021-06-15 15:30:00'); CREATE TABLE vessel_info (vessel_id INT, vessel_name VARCHAR(255), flag_state VARCHAR(255)); INSERT INTO vessel_info VALUES (301, 'Test Vessel 3', 'Singapore');
SELECT AVG(vessel_speed) FROM (SELECT v.vessel_id, (vessel_distance / TIMESTAMPDIFF(HOUR, v.movement_timestamp, l.movement_timestamp)) AS vessel_speed FROM vessel_movements v JOIN vessel_movements l ON v.vessel_id = l.vessel_id JOIN vessel_info vi ON v.vessel_id = vi.vessel_id WHERE v.movement_timestamp BETWEEN DATE_SUB(NOW(), INTERVAL 1 YEAR) AND NOW() AND vi.flag_state = 'Singapore' AND l.port_id IN (SELECT port_id FROM ports WHERE country IN ('Jamaica', 'Curacao'))) AS speed_calculation;