前言

最近忙着开发x省冷链追溯系统,天天干到晚上十一点多才回到家,周末也加班,没啥时间写博客,闲下来再好好写写

业务: sql语句统计出入库数据。

问题:只统计了X端入库单。

原因: 没有发现X端的数据库中只有入库单是有a字段数据而出库单是没有的,并使用了a字段去inner join,导致只能查到入库单进行统计操作。注:出入库单是同一张表,统计数据时,部分数据需要用到a字段去关联其他表。

解决: 采用left join。

以前一直在想什么时候能用到left join 、 inner join ,这次可给我上了一课。

关于它们之间的区别,可以看看下面这篇文章:

这里复制一小段:

关于inner join 与 left join 之间的区别,以前以为自己搞懂了,今天从前端取参数的时候发现不是预想中的结果,才知道问题出在inner join 上了。

需求是从数据库查数据,在前端以柱形图的形式展现出来,查到的数据按行业分组,显示每个行业的户数及户数占比,涉及到的字段有A表的用户数、总用户数和B表的行业名称。本来是不管查不查的到数据,在X轴都应该显示行业名称的,结果是X、Y轴都没有任何数据显示。问题就是我用错了联结方式。

一、sql的left join 、right join 、inner join之间的区别

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录

right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录

inner join(等值连接) 只返回两个表中联结字段相等的行

举例如下:

表A记录如下:

aID     aNum

1     a20050111

2     a20050112

3     a20050113

4     a20050114

5     a20050115

表B记录如下:

bID     bName

1     2006032401

2     2006032402

3     2006032403

4     2006032404

8     2006032408

1.left join

sql语句如下:

select * from A

left join B

on A.aID = B.bID

结果如下:

aID     aNum     bID     bName

1     a20050111    1     2006032401

2     a20050112    2     2006032402

3     a20050113    3     2006032403

4     a20050114    4     2006032404

5     a20050115    NULL     NULL

(所影响的行数为 5 行)

结果说明:

left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.

换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).

B表记录不足的地方均为NULL.

总结

到此这篇关于mysql左连接内连接的文章就介绍到这了,更多相关mysql左连接内连接内容请搜索站圈网以前的文章或继续浏览下面的相关文章希望大家以后多多支持站圈网!

简单的mysql左链接_简单谈谈mysql左连接内连接相关推荐

  1. mysql 外链接 后面的on_mysql数据库中关于内连接、外链接中on where having的用法。(转载)...

    SQL中on条件与where条件的区别 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户. 在使用left jion时,on和where条件的区别如下: ...

  2. MySQL什么用于左连接_简单谈谈mysql左连接内连接

    前言 最近忙着开发x省冷链追溯系统,天天干到晚上十一点多才回到家,周末也加班,没啥时间写博客,闲下来再好好写写 业务: sql语句统计出入库数据. 问题:只统计了X端入库单. 原因: 没有发现X端的数 ...

  3. 【w3cschool】MySQL 入门课程_简单复习

    1.什么是MySQL 数据库: 数据库(Database,简称 DB)是用来组织.存储和管理数据的仓库.数据库支持增删改查,可以支持存储数字,文字.图像.声音等等. 关系型数据库管理系统(Relati ...

  4. PHP中封装mysql数据库链接(简单版)

    为什么80%的码农都做不了架构师?>>>    1,封装mysql数据链接需要哪些属性 主机地址,数据库名,数据库密码,数据库名,字符集 2,利用构造方法在实例化类时,php底层会自 ...

  5. 用python画简单雪花剪纸步骤图解_简单雪花剪纸步骤图解

    简单雪花剪纸步骤图解 民间剪纸的表现语言不是简单的平铺直叙,而是托物寄语,借用那些约定成俗的观念化形象,来寄托人们对美好生活的向往,对吉祥幸福的期盼.下面是小编为大家整理的.简单雪花剪纸步骤图案,希望 ...

  6. mysql 增大数据库链接_怎么增大MYSQL数据库连接数

    怎么增大MYSQL数据库连接数 怎么增大MySQL数据库连接数,MYSQL数据库安装完成后,默认连接数是100,流量稍微大一点的论坛或网站这个连接数是不够哟用的,那么怎么才能增加默认MYSQL连接数呢 ...

  7. mysql fnv算法_《高性能MySQL》读书笔记之创建高性能的索引

    索引是存储引擎用于快速找到记录的一种数据结构.索引优化是对查询性能优化的最有效手段.索引能够轻易将查询性能提高几个数量级.创建一个最优的索引经常需要重写查询. 5.1索引基础 在MySQL中,存储引擎 ...

  8. mysql算法函数_十个实用MySQL函数

    本文首发于个人微信公众号<andyqian>,期待你的关注! 前言 继上一次<十个实用MySQL命令>后,今天奉上十个实用MySQL函数.下面都是一些比较常用且简单的函数,在工 ...

  9. mysql数据库算法_数据库:MySQL索引背后的数据结构及算法原理【转】

    原文:http://blog.codinglabs.org/articles/theory-of-mysql-index.html 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话 ...

最新文章

  1. Android应用程序的组成部分和Manifest文件(转)
  2. @bzoj - 3238@ [Ahoi2013]差异
  3. Windows Phone 执行模型概述
  4. CSDN-Markdown编辑器使用小技巧
  5. 综述 | 万字长文带你入门近几年深度学习的重要研究成果
  6. 微软职位内部推荐-Senior Software Development Engineer
  7. 关于安装VS2008后SQL server 2005安装的问题
  8. Ubuntu configuration-1 安装常用软件
  9. 计算机毕业设计 基于springboot+vue的校园志愿者管理系统
  10. 【机器人学习】 码垛机器人轨迹规划
  11. 进阶版的Pandas数据分析神器:Polars
  12. 复习2个月拿下美团offer,我都做了些啥
  13. 【每日蓝桥】17、一三年省赛Java组真题“带分数”
  14. facebook分享 whatsapp分享 点击按钮复制链接 常用js分享内容
  15. 实用工具推荐【待更新】
  16. android 流媒体 播放器 项目 源码
  17. 挂缀codevs2382
  18. 百篇最值得一读的“认知图谱”经典论文
  19. cocos creator 大厅+子游戏模式探讨(creator版本1.8.2)
  20. iris数据_Python数据分析03-Iris-箱形图与outliers

热门文章

  1. WiFi共享精灵 - 不需路由器一键轻松把网线共享给手机、笔记本等同时无线上网...
  2. vue-day03-vue组件化开发
  3. 第一章 计算机网络 5 分层结构/协议/接口/服务的概念 [计算机网络笔记]
  4. Leetcode--24. 两两交换链表中的结点
  5. 牛客网--19校招--俄罗斯方块
  6. native.loadlibrary获取路径不对_【Python专题(三)】Python模块导入与路径管理
  7. mac怎么合并两个容器_Mac怎么合并文件夹?macz不容错过的苹果mac教程分享
  8. threadlocal get为空_面试常见知识点:ThreadLocal
  9. pycharm无缘无故打开Nosetest
  10. CNN中的卷积操作与权值共享