首页 > 其他分享 >查询条件

查询条件

时间:2024-07-09 17:21:07浏览次数:14  
标签:函数 查询 session result func 条件 Employee

过滤是数据提取的一个很重要的功能,以下对一些常用的过滤条件进行解释,并且这些过滤条件都是
只能通过where方法实现的:
1. equals : ==,或者.is_ 函数
2. not equals : != 或者 isnot函数
3. like & ilike [不区分大小写]:
4. 在某个集合中存在,in_函数, 或者notin_函数(不存在)
5. And 多条件组合

# 查询员工的名字中包含”四“ ,并且基本薪资大于3000的所有员工
where(Employee.name.like('%四%'), Employee.sal > 3000))
where(and_(Employee.name.like('%四%'), Employee.sal > 3000))

6. or多条件组合

where(or_(Employee.name.like('%四%'), Employee.sal > 3000))

7. 聚合函数
◦ func.count:统计行的数量。
◦ func.avg:求平均值。
◦ func.max:求最大值。
◦ func.min:求最小值。
◦ func.sum:求和。

# 查询所以员工的数量
result = session.execute(select(func.count(Employee.id)))

8. 分页查询
a. limit函数:可以限制查询的时候只查询前几条数据。 属top-N查询
b. offset:可以限制查找数据的时候过滤掉前面多少条。可指定开始查询时的偏移量。

result = session.scalars(select(Employee).offset(0).limit(2))

9. 排序: order_by函数

result =
session.scalars(select(Employee).order_by(Employee.sal.desc()).offset(0).limit(
2))

10. 分组查询:group_by 和过滤函数 having

# 查询每个性别,各有多少员工
result = session.execute(select(Employee.gender,
func.count(Employee.id)).group_by(Employee.gender))
for o in result:
# print(type(o))
print(o)

 

标签:函数,查询,session,result,func,条件,Employee
From: https://www.cnblogs.com/yongheng999/p/18292361

相关文章

  • 常见的查询操作
    1)根据主键查询emp=session.get(Emp,1)2)查询整张表的数据a、返回模型对象statement=select(Employee)list_emp=session.scalars(statement).all()foroinlist_emp:print(o)#需要在Employee模型类中增加一个__str__函数def__str__(self):returnf'{self.name}......
  • 【PHP】关于fastadmin框架中使用with进行连表查询时setEagerlyType字段的理解
    前言FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一款开源且免费商用的后台开发框架,它基于ThinkPHP和Bootstrap两大主流技术构建的极速后台开发框架,它有着非常完善且强大的功能和便捷的开发体验,使我逐渐喜欢上了它。什么是setEagerlyType?1.回归正题,什么是setEagerl......
  • Mybatis -过滤查询
    一、过滤查询过滤查询实则是根据用户传入的条件进行数据的筛选查询,最终返回结果给用户。1、需求及效果图例如:在商品列表中,用户可以根据自己的需要,按照商品的名称和价格范围对商品进行查询。2、原理分析以上条件设计,后台需执行的 SQL会有如下几种: 需求1:查询所有货品......
  • 关联查询
     #关联查询   isouter=True表示使用外连接#1、查询2020年入职的员工姓名以及该员工的所在部门名称result=session.execute(select(Employee.name,Dept.name).join(Dept,isouter=True).where(extract('year',Employee.entry_date)==2018))#2、查询省份号码是:11111......
  • 6. DQL-多表查询
        本小节主要讲解数据库的多表查询功能,可实现从多个表中查询数据,多表查询内容包括内连接,外连接,笛卡尔积,等值连接,非等值连接,SQL99标准链接语法以及联合查询。6.1.1多表查询的介绍从多个表中获取数据思考如下问题?写一条查询语句,查询员工姓名、部门名称、工作地点? ......
  • 短剧推广的门槛是什么?做短剧推广需要什么条件?
    文末领取短剧推广实操教程短剧推广的门槛相对较低,主要可以分为以下几个方面:1.技术门槛:剪辑技能:短剧推广其实就是把视频重新剪辑一下,把精彩的片段挑出来,再组合成一个新的视频。这个剪辑过程并不难,学会怎么混合剪辑和拼接剧情就行。平台操作:在视频平台上推广短剧,就像我们在抖......
  • camunda快速入门(四):如何设计一个带条件分支的流程
    在本节中,您将学习如何使用BPMN2.0排他网关(ExclusiveGateways)使流程更加动态。1、添加两个网关我们想修改我们的流程,使其更具动态性。为此,请在CamundaModeler中打开该过程。接下来,从Modeler的左侧菜单中,选择网关形状(菱形)并将其拖动到“开始事件”和“服务任务”之间的......
  • 帆软report 设置条件属性,值为负数标为红色功能时,不生效
    ​ 详细情况:    在设置负数为红色功能前,已经有一个条件属性,数据集获取的值为空或者为0时,转换成-符号。如下图: 具体表单显示效果如下: 条件属性2设置 原因    因为条件属性1设置的-符号没有设置颜色,且......
  • 数据库新开账号,并授予了相应表的查询权限。访问时,其他PC端远程被拒绝
    报错信息        DBMS:Casesensitivity:plain=mixed,delimited=exactDriver:(ver.,JDBC)Effectiveversion:MySQL(ver.0.0)[28000][1045]Accessdeniedforuser'woer_mysql_oa'@'172.16.41.94'(usingpassword:YES). 原因    上述报错可以......
  • powerquery中不同查询表之间的相互引用
    比如存在"客户信息"查询和"案件信息"查询。要在"案件信息"查询中,引用"客户信息"查询中的证件号这个字段下面的第一行。具体查询名称见下图。                                    图1查询内容 那么,......