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 3 artistas mais populares em Madrid, com base no número de obras exibidas em galerias, e mostre seus nomes e o número de obras.
 ###Tabelas: 
CREATE TABLE Artists (id INT, name VARCHAR(30)); CREATE TABLE Works (id INT, artist_id INT, title VARCHAR(50)); CREATE TABLE Gallery_Works (id INT, gallery_id INT, work_id INT); CREATE TABLE Galleries (id INT, name VARCHAR(30), city VARCHAR(20)); INSERT INTO Galleries (id, name, city) VALUES (1, 'Gallery D', 'Madrid'), (2, 'Gallery E', 'Madrid'), (3, 'Gallery F', 'Madrid');
SELECT a.name, COUNT(w.id) as num_works FROM Artists a JOIN Works w ON a.id = w.artist_id JOIN Gallery_Works gw ON w.id = gw.work_id JOIN Galleries g ON gw.gallery_id = g.id WHERE g.city = 'Madrid' GROUP BY a.name ORDER BY num_works DESC LIMIT 3;