手册目录
前言[随时更新]
MySQL快速复习
MySQL原生查询
选择数据表
删除数据
聚合查询
时间查询
视图查询
子查询
总结/参考
这个区间查询与between类似,但功能更加强大,基本含义是:该字段即要满足A条件,又要满足B条件;
逻辑关系是可选的,如不写,默认为逻辑与:AND
Db::table('表名') -> field('字段列表') -> where('字段名',表达式数组,['逻辑关系']) ->select();
<?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],['<', 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)
}
}
SELECT `id` AS `编号`,`name` AS `姓名`,`salary` AS `工资` FROM `tp5_staff` WHERE ( `salary` > 9000 and `salary` < 10000 )
SELECT `id` AS `编号`,`name` AS `姓名`,`salary` AS `工资` FROM `tp5_staff` WHERE `salary` BETWEEN 9000 AND 10000
区间查询,只是提供了除between之外的另一种解决方案。
科技资讯
精品课程
共5课时 | 18万人学习
共49课时 | 82.1万人学习
共29课时 | 65万人学习
共25课时 | 41.3万人学习
共43课时 | 76.7万人学习