今天在写了一个数据库查询的函数,不过被老大轻喷了。的确之前的查询方式不好,在此整理贴下。

有时候我们需要对两张表或多张表进行关联查询。如下图:

方法一:对人员表中的每一项,都去查询部门表。我之前使用的方法...每次都要查询,浪费时间,不推荐。

方法一对应代码(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 查询。之后使用的方法..只用查询一次数据库。

方法二对应代码(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];

}

mysql关联查询php,MYSQL关联查询(PHP)相关推荐

  1. mysql 关联查询慢_mysql慢查询语句分析总结

    我们经常会接触到MySQL,也经常会遇到一些MySQL的性能问题.我们可以借助慢查询日志和explain命令初步分析出SQL语句存在的性能问题 通过SHOW FULL PROCESSLIST查看问题 ...

  2. mysql view 能和表关联吗_MySQL数分:复杂查询

    此次分享的内容是MySQL的复杂查询. 同样,我们依旧先进入提问环节:如果A九需要经常性的对学生性别对应人数进行汇总,有没有什么便捷的方法? 答案是有的.我们可以使用创建一个"按性别汇总&q ...

  3. mysql 子表 关联查询语句_MySQL-基本查询语句及方法,连表和子查询

    一.基本查询语句 create table emp( id intnotnull unique auto_increment, name varchar(20) notnull, sex enum(' ...

  4. MySQL 实现多张无关联表查询数据并分页

    MySQL 实现多张无关联表查询数据并分页 1.功能需求 在三张没有主外键关联的表中取出自己想要的数据,并且分页. 2.数据库表结构 水果表: 坚果表: 饮料表: 主要用UNION AL UNION ...

  5. node mysql 跨库查询_nodejs 在mongodb在跨数据库之中如何进行关联起来查询,并且支持筛选关联表的条件进行查询...

    "班级数据库": "mongodb://192.168.3.17/xxx "学生数据库": "mongodb://192.168.3.99/ ...

  6. mysql 子表 关联查询语句_MySQL基本SQL语句之单表查询、多表查询和子查询

    一.简单查询: 基本语法:SELECT * FROM tb_name;查询全部 SELECT field1,field2 FROM tb_name; 投影 SELECT [DISTINCT] * FR ...

  7. 高性能的MySQL(6)查询慢与重构查询

    只有好的库表结构.合理的索引还不够,我们还需要合理的设计查询,齐头并进,一个不少才能充分发挥MySQL的优势. 一.查询为什么会慢? 每一个查询由一系列的子任务组成,每个子任务都会消耗一定的时间.这个 ...

  8. mysql查询数据教程_MySQL 查询数据

    sql 语句的关联查询 左关联: left join ... on ... 右关联: right join... on ... 格式: select 字段 from 表1 left join 表2 o ...

  9. mysql 查询数据 程序_MySQL 查询数据

    MySQL 查询数据 MySQL 数据库使用SQL SELECT语句来查询数据. 你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据. 语法 以下为在MyS ...

  10. MySQL学习笔记06【多表查询、子查询、多表查询练习】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

最新文章

  1. JavaScript中十种一步拷贝数组的方法
  2. Linux中常见命令和单词的缩写全称
  3. mybaits七:select查询返回list集合
  4. Nginx映射本地json文件,配置解决浏览器跨域问题,提供前端get请求模拟数据
  5. OSChina 周一乱弹 ——致我们终将逝去的青春
  6. java boolean if_Java if(boolean)和if(boolean=true)区别解析
  7. 中美共建大数据创新研究中心
  8. MVP模式在Android项目中的使用
  9. python学习---简介
  10. Centos7安装Redis4.0.8
  11. 计算机名会影响电脑网络吗,电脑接网线会比连WiFi网速快吗【详细介绍】
  12. 为什么Uber宣布从Postgres切换到MySQL?
  13. 数据决策力是驱动企业发展的原动力
  14. 基于Vue学生选课管理系统
  15. Linux命令行大全
  16. 基于JAVA的GUI编程的的迷宫游戏 2020-12-15
  17. 两个tplink路由器有线桥接_TP-Link路由器的有线桥接图解
  18. WifiRemoteStationManager中速率控制算法详解
  19. windos下 elasticksearch7.13安装踩坑记
  20. 计算机桌面按哪个键锁定呀,计算机锁定屏幕快捷键-一种锁定计算机屏幕的快捷方式...

热门文章

  1. Linux 中 隐藏History记录
  2. 飞利浦43php5292,说说使用感受飞利浦43PFF5292T3质量如何?分析怎么样?爆料真实使用心得...
  3. topik怎么读_自学韩语 如何拿下TOPIK高级证明?资料无偿
  4. linux读取iso,Linux下iso文件的读取,创建
  5. frameset框架的简单使用
  6. 惠普CQ系列安装声卡驱动之后没有声音解决方案
  7. 10000套PPT模板免费下载
  8. HTML画4个矩形,html5--5-4 绘制矩形
  9. 作为一名后台开发人员,你必须知道的两种过滤器
  10. 电脑重装系统后Win11mmc无法创建管理单元如何解决