常用查询语句:
(1)简单查询
session.query(User).all()
session.query(User.name, User.fullname).all()
session.query(User, User.name).all()
(2)带条件查询
session.query(User).filter_by(name='user').all()
session.query(User).filter(User.name == "user").all()
session.query(User).filter(User.name.like("user%")).all()
(3)sql过滤
session.query(User).filter("id>:id").params(id=1).all()
(4)关联查询
session.query(User, Address).filter(User.id == Address.user_id).all()
session.query(User).join(User.addresses).all()
session.query(User).outerjoin(User.addresses).all()
两表关联
db.session.query(Client, FL_Sale).filter(Client.company == FL_Sale.client,Client.ywy == username).paginate(page=page,per_page=15)
(5)聚合查询
session.query(User.name, func.count('*').label("user_count")).group_by(User.name).all()
session.query(User.name, func.sum(User.id).label("user_id_sum")).group_by(User.name).all()
(6)存在查询
session.query(User).filter(exists().where(Address.user_id == User.id))
session.query(User).filter(User.addresses.any())