sqlalchemy多表联合查询(inner outer join 左右连接)详解
2017-07-18 13:08
357 查看
本篇内容为大家提供的是sqlalchemy多表联合查询(inner outer join 左右连接)详解,该教程主要介绍了sqlalchemy的多表联合查询。
#按用户名摸糊查询 trans_details.query.join(Uses).filter(Users.username.like('%xx%')) #select xxx from trans_details inner join trans_details on users.id=trans_details.user_id where users.username like '%xx%' #左外联接(left join) trans_details.query.outerjoin(Uses).filter(Users.username.like('%xx%')) #select xxx from trans_details left outer join trans_details on users.id=trans_details.user_id where users.username like '%xx%' #以上是已经设置好外键,它自动找到关联的字段.也可以自己指定: trans_details.query.join(Uses,trans_details.user_id==Users.id).filter(Users.username.like('%xx%')) #select xxx from trans_details inner join trans_details on users.id=trans_details.user_id where users.username like '%xx%' #另外一个更复杂的例子: q=db.session.query(Credit_bills_details.no,Credit_bills_details.amount,Cards.no).outerjoin(Card_trans_details, Credit_bills_details.no==Card_trans_details.trans_no).join(Cards,Card_trans_details.to_card_id==Cards.id)\ .filter(Credit_bills_details.credit_bill_id==3) #SELECT credit_bills_details.no AS credit_bills_details_no, credit_bills_details.amount AS credit_bills_details_amount, cards.no AS cards_no # FROM credit_bills_details LEFT OUTER JOIN card_trans_details ON credit_bills_details.no = card_trans_details.trans_no INNER JOIN cards # ON card_trans_details.to_card_id = cards.id WHERE credit_bills_details.credit_bill_id = %s
相关文章推荐
- 表连接查询INNER JOIN/OUTER JOIN/CROSS JOIN
- Oracle外连接(left/right/full outer join)语法详解
- SQL中的left outer join,inner join,right outer join用法 (左右内连接)
- SQL中的left outer join,inner join,right outer join用法详解
- 深入理解Oracle表(5):三大表连接方式详解之Hash Join的定义,原理,算法,成本,模式和位图
- Oracle中内连接查询(inner join),自然连接查询(natural join),自连接查询,外连接查询(outer join),左外连接(left join),右外连接(right joi
- 多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP
- MySQL中各种连接(JOIN)详解
- Pig Latin JOIN (inner) 与JOIN (outer)的区别
- cross join & natural join & inner join & left outer join & right outer join & full outer join
- 区别交叉连接(cross jon) 内连接(inner join) 和外连接(left outer join,right outer join)
- SQL中的left outer join,inner join,right outer join用法详解
- join(连个不同的表根据某连接条件左右连接到了一起)
- 多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP
- 多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP
- 多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP
- SQL中的left outer join,inner join,right outer join用法详解
- sql中的连接 join 实例详解
- Pig Latin JOIN (inner) 与JOIN (outer)的区别
- 深入理解Oracle表(5):三大表连接方式详解之Hash Join的定义,原理,算法,成本,模式和位图