MYSQL关联查询(PHP)
2016-07-04 00:00
681 查看
摘要: MYSQL关联两个表查询比较好的方法。
今天在写了一个数据库查询的函数,不过被老大轻喷了。的确之前的查询方式不好,在此整理贴下。
有时候我们需要对两张表或多张表进行关联查询。如下图:
![](http://static.oschina.net/uploads/space/2016/0704/213910_CKbe_2366098.jpg)
方法一:对人员表中的每一项,都去查询部门表。我之前使用的方法...每次都要查询,浪费时间,不推荐。
![](http://static.oschina.net/uploads/space/2016/0704/214338_41ky_2366098.jpg)
方法一对应代码(PHP-THINKPHP):
方法二:把人员表中每一项的部门ID组成数组,统一用 IN 查询。之后使用的方法..只用查询一次数据库。
![](http://static.oschina.net/uploads/space/2016/0704/214558_pnSM_2366098.jpg)
方法二对应代码(PHP-THINKPHP):
今天在写了一个数据库查询的函数,不过被老大轻喷了。的确之前的查询方式不好,在此整理贴下。
有时候我们需要对两张表或多张表进行关联查询。如下图:
![](http://static.oschina.net/uploads/space/2016/0704/213910_CKbe_2366098.jpg)
方法一:对人员表中的每一项,都去查询部门表。我之前使用的方法...每次都要查询,浪费时间,不推荐。
![](http://static.oschina.net/uploads/space/2016/0704/214338_41ky_2366098.jpg)
方法一对应代码(PHP-THINKPHP):
$User = D('User'); $list = $User->where(true)->select(); $Depart= D('Department'); $num = 0; foreach($list as $one){ $id = $one['depart_id']; $result = $Depart->where("depart_id = $id")->find(); $list[$num]['depart_name'] = $result['depart_name']; num++; } dump($list);
方法二:把人员表中每一项的部门ID组成数组,统一用 IN 查询。之后使用的方法..只用查询一次数据库。
![](http://static.oschina.net/uploads/space/2016/0704/214558_pnSM_2366098.jpg)
方法二对应代码(PHP-THINKPHP):
$User = D('User'); $list = $User->where(true)->select(); $Depart= D('Department'); $idlist = array(); foreach($list as $one){ $id = $one['depart_id']; $idlist[] = $id; } $map['depart_id'] = array('in',$idlist); $result = $Depart->where($map)->Field("depart_name")->select(); foreach($list as $k=>$v){ $list[$k]['depart_name'] = $result[$k]; }
相关文章推荐
- kindeditor 批量上传 上传失败 thinkphp swfupload session
- ThinkPHP关联模型操作实例分析
- thinkphp3.0 模板中函数的使用
- ThinkPHP中where()使用方法详解
- ThinkPHP采用<volist>实现三级循环代码实例
- Thinkphp模板标签if和eq的区别和比较实例分析
- 合并ThinkPHP配置文件以消除代码冗余的实现方法
- ThinkPHP中自定义目录结构的设置方法
- ThinkPHP控制器详解
- ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
- 解析thinkphp中的M()与D()方法的区别
- ThinkPHP采用模块和操作分析
- Thinkphp模板中使用自定义函数的方法
- linux下使用ThinkPHP需要注意大小写导致的问题
- ThinkPHP中FCKeditor编辑器的使用方法
- thinkphp的CURD和查询方式介绍
- THINKPHP支持YAML配置文件的设置方法
- Thinkphp中import的几个用法详细介绍
- MySQL查询优化--调整内部变量的详解
- thinkphp3.x中cookie方法的用法分析