Androidは標準でSQLiteとそのライブラリが用意されているので、それを使用します。
queryというメソッドが用意されていて、select, where, order, group by, having, limit, distinct をパラメータで指定できます。
感想としては、直接SQL書かせたほうが早いような気がします。ちゃんとそれも用意されていますが。そっちは、
rawQuery という名前のメソッドで、クエリ文字とパラメータ配列を指定するもので、どう考えてもこっちの方が使いやすいと思います。

SQLiteDatabase
db = openDatabase(); // DBオープンは別項で Cursor c = db.query("テーブル名", new String[]{"name", "email", "city"}, "city=?", new String[]{"松戸"}, null, // groupby なければnull null, // having なければnull "name ASC"); ArrayList<Member> members = new ArrayList<Member>(); while(c.moveToNext()){ members.add(new Member("name", "email")); } db.close(); //オーバーロードで limit を指定できるものと、さらに distinctを指定できるバージョンが有ります。 //query (boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) //query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) //ちなみに生のSQLを書きたい場合は raqQuery というメソッドが使えます。
db.rawQuery( "select name, email, city from members where city=?", new String[]{"松戸"});