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: Encontre os projetos de defesa com a duração mais longa e os contratantes correspondentes.
 ###Tabelas: 
CREATE TABLE DefenseProjects (ProjectID INT, ProjectName VARCHAR(100), StartDate DATE, EndDate DATE);CREATE TABLE ContractorsProjects (ContractorID INT, ProjectID INT);CREATE TABLE Contractors (ContractorID INT, ContractorName VARCHAR(100), Country VARCHAR(50));
SELECT C.ContractorID, C.ContractorName, DP.ProjectID, DP.ProjectName, DATEDIFF(DAY, DP.StartDate, DP.EndDate) AS Duration FROM DefenseProjects DP JOIN ContractorsProjects CP ON DP.ProjectID = CP.ProjectID JOIN Contractors C ON CP.ContractorID = C.ContractorID ORDER BY Duration DESC LIMIT 1;