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 é a idade média dos membros da audiência que frequentaram eventos de artes cênicas em áreas urbanas de Nova York e Pensilvânia?
 ###Tabelas: 
CREATE TABLE Events (id INT, state VARCHAR(2), city VARCHAR(20), category VARCHAR(20), attendees INT, event_date DATE); INSERT INTO Events (id, state, city, category, attendees, event_date) VALUES (1, 'NY', 'New York', 'Theater', 500, '2022-01-01'), (2, 'PA', 'Philadelphia', 'Dance', 300, '2022-02-01'), (3, 'NY', 'Albany', 'Music', 400, '2022-03-01'); CREATE TABLE Audience (id INT, state VARCHAR(2), zip INT, age INT); INSERT INTO Audience (id, state, zip, age) VALUES (1, 'NY', 10000, 30), (2, 'PA', 19000, 40), (3, 'NY', 12000, 35); CREATE TABLE Zipcodes (zip INT, city VARCHAR(20), urban VARCHAR(5)); INSERT INTO Zipcodes (zip, city, urban) VALUES (10000, 'New York', 'yes'), (19000, 'Philadelphia', 'yes'), (12000, 'Albany', 'yes');
SELECT AVG(Audience.age) FROM Events INNER JOIN Audience ON Events.state = Audience.state INNER JOIN Zipcodes ON Audience.zip = Zipcodes.zip WHERE urban = 'yes' AND Events.category IN ('Theater', 'Dance') AND Events.state IN ('NY', 'PA');