SQLで書いた方がというより、普通にfindでいいんじゃないの?