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: Exibir os sindicatos envolvidos em acordos de negociação coletiva, mas não envolvidos em nenhuma violação de direitos trabalhistas.
 ###Tabelas: 
CREATE TABLE unions (id INT PRIMARY KEY, name VARCHAR(255)); CREATE TABLE cb_agreements (id INT PRIMARY KEY, union_id INT); CREATE TABLE reports (id INT PRIMARY KEY, violation VARCHAR(255), union_id INT); INSERT INTO unions (id, name) VALUES (1, 'Union A'), (2, 'Union B'), (3, 'Union C'), (4, 'Union D'); INSERT INTO cb_agreements (id, union_id) VALUES (1, 1), (2, 2), (3, 4); INSERT INTO reports (id, violation, union_id) VALUES (1, 'Violation 1', 2), (2, 'Violation 2', 3);
SELECT name FROM unions u WHERE u.id IN (SELECT union_id FROM cb_agreements) AND u.id NOT IN (SELECT union_id FROM reports);