【Flask数据库】join实现复杂查询

本文介绍了Flask数据库查询中join方法的应用,包括内连接(inner join)和外连接(left join, right join)。通过实例展示了如何使用内连接查询User和对应的Article,以及如何使用outerjoin获取所有User数据,即使某些User没有关联的address对象。" 114713339,10536961,Java实现220V转5V充电适配器模式,"['Java设计模式', '适配器模式', '接口', '电压转换']
摘要由CSDN通过智能技术生成

高级查询:

1、join方法:

join查询分为两种,一种是inner join,另一种是outer join。默认的是inner join,如果指定left join或者是right join则为outer join。
####内连接:inner join,两张被内连接的表主键不匹配时,不匹配的数据均被抛弃。
####外连接:left join是以左表为基准,连接过程中右表不匹配项会被设置为null,左表数据保留;right join是以右表为基准,连接过程中左表不匹配项会被设置为null,右表数据保留。

  • 1)通过原生sql语句实现:
select user.username,count(article.id) from user join article on user.id = article.uid group by user.id order by count(article.id) desc;
从join后的user与article中提取数据,显示不同user的article数量并以降序的方式排列出来。
  • 2)如果想要查询User及其对应的Article,则可以通过以下方式来实现(默认join为内连接):
result =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值