数据库查询中的一些技巧

where的技巧。

今天做项目的时候因为有多个查询条件左右加了很多判断导致查询时间特别的长,有幸学到了一个技巧。真的是大神无处不在。

正文:
e115b901e97060251001593e9d95c08.png

刚开始一个也加判断,结果自己忙的晕乎乎的也没有也好结果。有幸学到了一个好方法。

 $where=array();
        if($school)
        {
            $where['d.school'] = array('like',"%$school%");
        }

        if($lou)
        {
            $where['d.lou'] = array('like',"%$lou%");
        }
        if($hezihao){
            $cc = db('message')->where('number',$hezihao)->value('id');
            $where['d.thishezi'] = $cc;
        }

        if(!empty($ktime)){
            $where['c.addtime'] = array(array('>',$ktime),array('<',$etime));//多个条件
        }
        if(!empty($shop)){
            $where['a.id'] = $de;//单个条件
        }
//真正的查询语句

  $message=db('product')->alias('a')
            ->join('orderlist b',"a.id=b.pid")
            ->join('order c','c.ordernumber=b.oid')
            ->join('vip d','c.uid=d.id')
            ->field('a.title,b.pronum,c.*,d.thishezi,d.tel,d.school,d.lou,d.sushe,d.name,d.nikename')
            ->where($where)//这里直接填写$where即可
            ->group('c.ordernumber')
            ->order('b.addtime desc')
            ->limit('50')
             ->select();

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转 # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    吕品㗊阅读 9,881评论 0 44
  • 数据库优化 sql语句优化 索引优化 加缓存 读写分离 分区 分布式数据库(垂直切分) 水平切分 MyISAM和I...
    半瓶阳光o_o阅读 611评论 0 2
  • 一、数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会...
    安易学车阅读 1,596评论 0 7
  • 前五天我听了一个音频,说一个人坚持早起14年。 一听到14年这个数字,心底的佩服便升腾到脑尖。 我写日记也已经20...
    太阳花168阅读 180评论 0 1
  • 关注玄奘,是因为杭州的灵隐寺里,有一尊玄奘的雕像很是吸引人驻足。而且最近有一部黄晓明主演的电影《大唐玄奘》...
    Sahara撒拉阅读 450评论 0 0