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: Quantas viagens foram concluídas por cada embarcação na primeira metade de 2023?
 ###Tabelas: 
CREATE TABLE vessels (vessel_id INT, vessel_name VARCHAR(50), flag_state VARCHAR(50)); CREATE TABLE voyages (voyage_id INT, vessel_id INT, voyage_start_date DATE, voyage_end_date DATE); INSERT INTO vessels VALUES (1, 'MSC Maya', 'Panama'); INSERT INTO voyages VALUES (1, 1, '2023-01-01', '2023-01-15'); INSERT INTO voyages VALUES (2, 1, '2023-01-20', '2023-01-30');
SELECT vessel_name, COUNT(*) as num_voyages FROM voyages JOIN vessels ON voyages.vessel_id = vessels.vessel_id WHERE EXTRACT(YEAR FROM voyage_start_date) = 2023 AND EXTRACT(MONTH FROM voyage_start_date) <= 6 GROUP BY vessel_name;