软件测试SQL面试题(中)

Plus版

1:去重distinct,查询不重复记录的数据

必须放开头

select distinct 列名 from 表名(查询所有列名数据,去掉重复数据)

 

举例:

表A,查询考核等级grade,有哪些值

select distinct grade from A

 

2:分组group by,根据某个字段分组

select 列名 from 表名 group by 列名,一般会配合聚合函数一起使用

 

举例:

表A中,查询考核等级grade字段,不同值各多少人

select grade,count(*) from A group by grade

 

3:limit,查询结果返回的数量,多用于分页查询

select * from 表名 limit i,n  i代表查询结果的索引值,默认从0开始,n返回查询的结果数。

 

举例:

订单表A,查询第21条到30条数据

select * from A limit 20,10

可能会问为什么不能直接用id查询?因为id不准确,可能存在id不连续的情况。如果某条数据被物理删除了呢?

 

何为物理删除和逻辑删除?

物理删除,直接将某条数据,从表中删除。

逻辑删除,仅通过某个字段标记删除,实际表中还存在。(比如:is_delete=1代表已删除,is_delete=0未删除)

 

4:排序order by 列名 asc(列名值升序排列)和order by 列名 desc(列名值降序排列) 

举例:

用户表A,按照用户id升序(select查询默认根据主键升序,所以升序,不加order by也可以)

select * from A order by id asc同select *from A

 

用户表A,按照新建时间倒序

select * from A order by create_time desc

 

5:in和between查询某个范围的数值

举例:

in:查询指定数值的数据

between:查询某个范围内的数据

 

举例:

查询表A中,id=1和id=10的数据

select * from A where id in(1,10)

 

查询表A中,1月份新增的数据

select * from A where create_time between '2022-01-01' and '2022-02-01'

**如果这篇博客对你有帮助,欢迎扫描下方二维码,添加关注,获得更多精彩内容。**74555f0b403f460a802f591930a028ae.png

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值