ThinkPHP5数据库实例详解
/区间查询
区间查询
区间查询
1、功能:针对同一字段,进行多个查询条件设置
这个区间查询与between类似,但功能更加强大,基本含义是:该字段即要满足A条件,又要满足B条件;
2、 基本(常用)语法:
逻辑关系是可选的,如不写,默认为逻辑与:AND
Db::table('表名') -> field('字段列表') -> where('字段名',表达式数组,['逻辑关系']) ->select();
3、实例演示:
任务1:查询tp5_staff表中工资大于9000,小于10000的员工信息,工资好高呀~~
- Index.php 控制器代码:
field(['id'=>'编号','name'=>'姓名','salary'=>'工资']) //设置字段别名 -> where('salary',['>',9000],['<', 10000],'and') //查询条件 // -> where('salary','between',[9000,10000]) 等价语句 ->select(); //获取结果集 //输出结果集 dump($result); } }
- 结果如下:
array(4) { [0] => array(3) { ["编号"] => int(1008) ["姓名"] => string(6) "宋江" ["工资"] => float(9261) } [1] => array(3) { ["编号"] => int(1023) ["姓名"] => string(9) "段王爷" ["工资"] => float(9560) } [2] => array(3) { ["编号"] => int(1011) ["姓名"] => string(9) "李云龙" ["工资"] => float(9850) } [3] => array(3) { ["编号"] => int(1028) ["姓名"] => string(6) "方方" ["工资"] => float(9877) } }
- 生成的SQL语句:
SELECT `id` AS `编号`,`name` AS `姓名`,`salary` AS `工资` FROM `tp5_staff` WHERE ( `salary` > 9000 and `salary` < 10000 )
- 等价语句生成的SQL语句:
SELECT `id` AS `编号`,`name` AS `姓名`,`salary` AS `工资` FROM `tp5_staff` WHERE `salary` BETWEEN 9000 AND 10000
4、总结:
区间查询,只是提供了除between之外的另一种解决方案。