La consulta está bien...
Cuando en una consulta SQL pones algo como
:Variable, le estás diciendo que ahí vas a pasar un parámetro:
Código Delphi
[-]
Query1.SQL.Add('select * from Tabla where Campo1 = :Valor');
Query1.Prepare:
Query1.ParamByName('Valor').AsString := 'México'; Query1.Open;
Saludos...