from sqlalchemy import * from sqlalchemy.orm import * engine = create_engine('sqlite://', echo=True) metadata = MetaData(engine) table = Table("test", metadata, Column("id", Integer, primary_key=True), Column("data", String)) metadata.create_all() table.insert().execute([{"data": 1}, {"data": 2}, {"data": 3}, {"data": 4}, {"data": 5}, {"data": 6}, {"data": 7}, {"data": 8}, {"data": 9}, {"data": 10}, {"data": 11}, {"data": 12}, {"data": 13}, {"data": 14}, {"data": 15}, {"data": 30}, {"data": 44}, {"data": 55}]) class Test(object): pass mapper(Test, table) create_session().query(Test).order_by(Test.data).filter(Test.data.between(11, 50)).all() output: 2007-11-09 12:20:23,832 INFO sqlalchemy.engine.base.Engine.0x..90 PRAGMA table_info("test") 2007-11-09 12:20:23,832 INFO sqlalchemy.engine.base.Engine.0x..90 {} 2007-11-09 12:20:23,833 INFO sqlalchemy.engine.base.Engine.0x..90 CREATE TABLE test ( id INTEGER NOT NULL, data TEXT, PRIMARY KEY (id) ) 2007-11-09 12:20:23,834 INFO sqlalchemy.engine.base.Engine.0x..90 {} 2007-11-09 12:20:23,834 INFO sqlalchemy.engine.base.Engine.0x..90 COMMIT 2007-11-09 12:20:23,835 INFO sqlalchemy.engine.base.Engine.0x..90 INSERT INTO test (data) VALUES (?) 2007-11-09 12:20:23,835 INFO sqlalchemy.engine.base.Engine.0x..90 [[1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [30], [44], [55]] 2007-11-09 12:20:23,835 INFO sqlalchemy.engine.base.Engine.0x..90 COMMIT 2007-11-09 12:20:23,838 INFO sqlalchemy.engine.base.Engine.0x..90 SELECT test.id AS test_id, test.data AS test_data FROM test WHERE test.data BETWEEN ? AND ? ORDER BY test.data 2007-11-09 12:20:23,838 INFO sqlalchemy.engine.base.Engine.0x..90 [11, 50]