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: Liste todas as embarcações com violações de segurança marítima nos últimos 3 anos.
 ###Tabelas: 
CREATE TABLE vessels (vessel_name TEXT, last_inspection_date DATE); CREATE TABLE safety_violations (vessel_name TEXT, violation_date DATE); INSERT INTO vessels (vessel_name, last_inspection_date) VALUES ('Ever Given', '2019-06-15'), ('Titanic Memorial Cruise', '2019-04-15'); INSERT INTO safety_violations (vessel_name, violation_date) VALUES ('Ever Given', '2021-03-23'), ('Titanic Memorial Cruise', '2021-04-12');
SELECT vessels.vessel_name FROM vessels INNER JOIN safety_violations ON vessels.vessel_name = safety_violations.vessel_name WHERE safety_violations.violation_date >= vessels.last_inspection_date AND vessels.last_inspection_date >= DATE_SUB(CURRENT_DATE, INTERVAL 3 YEAR);