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 os nomes das empresas que tiveram pelo menos uma rodada de financiamento acima de $50 milhões e foram fundadas por uma equipe que é pelo menos 50% composta por mulheres.
 ###Tabelas: 
CREATE TABLE companies (id INT, name TEXT, industry TEXT, founding_date DATE, founder_gender TEXT);CREATE TABLE funds (id INT, company_id INT, amount INT, funding_round TEXT);CREATE TABLE company_founders (company_id INT, founder_id INT);CREATE TABLE founders (id INT, gender TEXT);
SELECT companies.name FROM companies INNER JOIN funds ON companies.id = funds.company_id INNER JOIN company_founders ON companies.id = company_founders.company_id INNER JOIN founders ON company_founders.founder_id = founders.id WHERE funds.amount > 50000000 AND (founders.gender = 'woman' OR founders.gender IS NULL) GROUP BY companies.name HAVING COUNT(*) FILTER (WHERE founders.gender = 'woman') / COUNT(*) >= 0.5;