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: Mostrar o número de aplicativos descentralizados e contratos inteligentes associados a cada desenvolvedor.
 ###Tabelas: 
CREATE TABLE developers (developer_id INT, name VARCHAR(50), country VARCHAR(50)); INSERT INTO developers (developer_id, name, country) VALUES (1, 'Alice', 'USA'), (2, 'Bob', 'China'); CREATE TABLE dapps (dapp_id INT, name VARCHAR(50), developer_id INT); INSERT INTO dapps (dapp_id, name, developer_id) VALUES (1, 'DApp1', 1), (2, 'DApp2', 2); CREATE TABLE smart_contracts (contract_id INT, name VARCHAR(50), developer_id INT); INSERT INTO smart_contracts (contract_id, name, developer_id) VALUES (1, 'SmartContract1', 1), (2, 'SmartContract2', 2);
SELECT developers.name, COUNT(dapps.dapp_id) as dapp_count, COUNT(smart_contracts.contract_id) as contract_count FROM developers LEFT JOIN dapps ON developers.developer_id = dapps.developer_id LEFT JOIN smart_contracts ON developers.developer_id = smart_contracts.developer_id GROUP BY developers.name;