区间查询
1、功能:针对同一字段,进行多个查询条件设置这个区间查询与between类似,但功能更加强大,基本含义是:该字段即要满足A条件,又要满足B条件;
2、 基本(常用)语法:逻辑关系是可选的,如不写,默认为逻辑与:ANDDb::table('表名') -> field('字段列表') -> where('字段名',表达式数组,['逻辑关系']) ->select();
3、实例演示:
任务1:查询tp5_staff表中工资大于9000,小于10000的员工信息,工资好高呀~~Index.php 控制器代码:<?php
namespace app\index\controller;
//导入数据库类
use think\Db;
class Index {
public function index(){
$result = Db::table('tp5_staff') //设置数据表
-> field(['id'=>'编号','name'=>'姓名','salary'=>'工资']) //设置字段别名
-> where('salary',['>',9000],['
// -> 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`
4、总结:区间查询,只是提供了除between之外的另一种解决方案。