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: Quais cidades tiveram uma prefeita pelo período contínuo mais longo?
 ###Tabelas: 
CREATE TABLE city (id INT, name VARCHAR(255)); INSERT INTO city (id, name) VALUES (1, 'New York'), (2, 'Los Angeles'), (3, 'Chicago'), (4, 'Houston'), (5, 'Phoenix'); CREATE TABLE mayor (id INT, city_id INT, name VARCHAR(255), gender VARCHAR(10), start_year INT, end_year INT); INSERT INTO mayor (id, city_id, name, gender, start_year, end_year) VALUES (1, 1, 'John Smith', 'Male', 2018, 2021), (2, 1, 'Maria Rodriguez', 'Female', 2005, 2017), (3, 2, 'James Johnson', 'Male', 2015, 2020), (4, 3, 'William Lee', 'Male', 2000, 2005), (5, 3, 'Sarah Lee', 'Female', 2006, 2019), (6, 4, 'Robert Brown', 'Male', 2010, 2019), (7, 5, 'David Garcia', 'Male', 2005, 2011), (8, 5, 'Grace Kim', 'Female', 2012, 2021);
SELECT c.name, MAX(m.end_year - m.start_year) as max_tenure FROM city c JOIN mayor m ON c.id = m.city_id WHERE m.gender = 'Female' GROUP BY c.name HAVING MAX(m.end_year - m.start_year) >= ALL (SELECT MAX(m2.end_year - m2.start_year) FROM mayor m2 WHERE m2.gender = 'Female')