改进 function query()