zoukankan      html  css  js  c++  java
  • MySQL之三个表的连接查询

    在某学习网站上看到的课后练习题,经过自己的查询和调试终于找到了正确的方法,记录下来方便后面的学习;


     在此有三个表格分别是:employee,project,department,表格内容如下图,

    1、使用连接查询的方式,查询出各员工所在部门的人数与对应的工程数目,工程数命名为 count_project。(连接3个表,并使用COUNT内置函数):

    MySQL代码如下

    (先以查询id=1,即Tom的为例):

    如上表,由表employee中可知Tom所在的部门为dpt4,由表department可知dpt4部门有15个人,最后由表project可知dpt参与了两个工程,分别为proj_c、proj_e,下面的查询可以看到;

    查询所有人时,只需分组查询即可,如下(inner join 中的inner可有可无):


     此外,还可以增加一个group_concat函数来分组统计项目名称,代码如下:


     对于上面的连接查询,自己在做一些面试题的时候又总结了一种比较容易明白的表达方法:如图

    可以看到,查询的结果是一样的,没有最好的方法,只有适合的方法;贴出来和大家一起交流吧

    个人能力有限, 以上如有错误之处,请各位大神多指正,谢谢!

  • 相关阅读:
    Linux下配置APACHE支持PHP环境
    mysql 管理脚本
    RAC迁移至单机考虑几大因素
    mysql配置文件my.cnf模板
    hadoop 日常问题汇总(持续更新)
    Redis配置文件
    jquery操作select(增加,删除,清空)
    mybatis异常
    Elasticsearch 之 query与filter区别
    在elasticsearch里如何高效的使用filter
  • 原文地址:https://www.cnblogs.com/feigebaqi/p/9223992.html
Copyright © 2011-2022 走看看