Task: Text to Code
Input (English): Step 1: find the City of city table for which Regional_Population greater than 23019148.
Step 2: For each row in city table, find the corresponding rows in hosting_city table.
Step 3: find City of the results of step 2 whose Year equals 2008.
Step 4: show the rows that are in the results of step 1 but not in the results of step 3
Output (English): SELECT T1.City FROM city AS T1 WHERE T1.Regional_Population > 23019148 EXCEPT SELECT T1.City FROM city AS T1 JOIN hosting_city AS T2 ON T1.City_ID = T2.Host_City WHERE T2.Year = 2008