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: Qual é o nome e o fornecimento total dos 3 principais ativos digitais por capitalização de mercado?
 ###Tabelas: 
CREATE TABLE digital_assets (asset_id INT, name VARCHAR(255), total_supply INT); CREATE TABLE market_caps (asset_id INT, market_cap INT); INSERT INTO digital_assets (asset_id, name, total_supply) VALUES (1, 'CryptoCoin', 21000000), (2, 'DecentralizedApp', 1000000), (3, 'SmartContract', 500000), (4, 'DataToken', 100000000); INSERT INTO market_caps (asset_id, market_cap) VALUES (1, 2000000000), (2, 50000000), (3, 250000), (4, 100000000); CREATE VIEW top_three_assets AS SELECT * FROM (SELECT asset_id, name, total_supply, market_cap, RANK() OVER (ORDER BY market_cap DESC) as rank FROM digital_assets da JOIN market_caps mc ON da.asset_id = mc.asset_id) x WHERE x.rank <= 3;
SELECT name, total_supply FROM top_three_assets;