def select(self, filter_by=None):
iterator = self._records if filter_by is None else filter(filter_by, self._records)<EOL>return Queryset(self._table, iterator)<EOL>
Parameters
----------
filter_by: callable, default None
    Callable must take one argument (a record of queryset), and return True to keep record, or False to skip it.
    Example : .select(lambda x: x.name == "my_name").
    If None, records are not filtered.

Returns
-------
Queryset instance, containing all selected records.