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: Quantos heróis únicos foram jogados no modo competitivo em cada região?
 ###Tabelas: 
CREATE TABLE Games (id INT, name VARCHAR(50), mode ENUM('Singleplayer', 'Multiplayer', 'Competitive')); INSERT INTO Games (id, name, mode) VALUES (1, 'Game1', 'Competitive'), (2, 'Game2', 'Singleplayer'), (3, 'Game3', 'Multiplayer'), (4, 'Game4', 'Competitive'); CREATE TABLE Heroes (id INT, game_id INT, name VARCHAR(50)); INSERT INTO Heroes (id, game_id, name) VALUES (1, 1, 'Hero1'), (2, 1, 'Hero2'), (3, 1, 'Hero3'), (4, 1, 'Hero4'), (5, 2, 'Hero5'), (6, 2, 'Hero6'), (7, 4, 'Hero1'), (8, 4, 'Hero2'), (9, 4, 'Hero3'); CREATE TABLE Competitive_Matches (id INT, player_id INT, hero_id INT, game_id INT); INSERT INTO Competitive_Matches (id, player_id, hero_id, game_id) VALUES (1, 1, 1, 1), (2, 1, 2, 1), (3, 2, 1, 1), (4, 2, 3, 1), (5, 3, 2, 1), (6, 3, 4, 1), (7, 4, 3, 4), (8, 4, 1, 4), (9, 5, 2, 4), (10, 5, 4, 4);
SELECT R.name AS region, COUNT(DISTINCT H.id) AS unique_heroes FROM Competitive_Matches CM JOIN Games G ON CM.game_id = G.id JOIN Heroes H ON CM.hero_id = H.id JOIN Regions R ON G.mode = 'Competitive' GROUP BY R.name;