简单的mysql左链接_简单谈谈mysql左连接内连接

前言

最近忙着开发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左连接内连接内容请搜索站圈网以前的文章或继续浏览下面的相关文章希望大家以后多多支持站圈网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言 空格_C语言100题集合-ex003

系列文章《C语言经典100例》持续创作中,欢迎大家的关注和支持。喜欢的同学记得点赞收藏哦~1 题目函数:fun() 功能:统计一行字符串单词的个数,作为函数值返回描述:一行字符串在主函数中输入,规定…

go 默认http版本_【每日一库】超赞的 Go 语言 INI 文件操作

点击上方蓝色“Go语言中文网”关注我们,领全套Go资料,每天学习 Go 语言如果你使用 INI 作为系统的配置文件,那么一定会使用这个库吧。没错,它就是号称地表 最强大、最方便 和 最流行 的 Go 语言 INI 文件操作库:https:…

python程序设计第一章答案_Python《学习手册:第一章-习题》

人们选择Python的六大主要原因是什么? 软件质量:Python注重可读性、一致性和软件质量。Python代码的设计致力于可读性,因此具备了比传统脚本语言更优秀的可重用性和可维护性。 Python的一致性保证了其代码易于理解。 Python支持软件开发的高级…

redis数据丢失_有效避免数据丢失!Redis持久化方案选择详解

为什么需要持久化呢?通常情况下redis的数据全部存储在内存中,数据库一旦故障发生重启数据会全部丢失,即使是在redis cluster或者redis sentinel模式下主从同步数据的恢复仍然需要一段时间。持久化功能在于能够有效地避免因进程退出造成的数据丢失问题&am…

做python开发要用多大的内存_Python 在分配内存需要考虑的问题

由此能看出可变对象在扩充时的秘密:超额分配机制:申请新内存时并不是按需分配的,而是多分配一些,因此当再添加少量元素时,不需要马上去申请新内存 非均匀分配机制:三类对象申请新内存的频率是不同的&#x…

mysql审计 社区版有吗_mysql 5.6 社区版上审计功能,不扯皮

官网https://mariadb.com/kb/en/mariadb/about-the-mariadb-audit-plugin/一、环境说明MySQL 5.6.25 社区版Mariadb 10.0.25 社区版mysql 企业版有审计功能需要收费,社区版被阉割的不行不行了,和古时候的太监没啥区别了,比较重要的功能特性都…

python用outlook自动发邮件_Python 调用outlook发送邮件(转 )

单账号: import win32com.client as win32 def send_mail(): outlook win32.Dispatch(Outlook.Application) mail_item outlook.CreateItem(0) # 0: olMailItem mail_item.Recipients.Add(testtest.com) mail_item.Subject Mail Test mail_item.BodyFormat 2 # …

win10子系统ubuntu图形界面_win10系统中安装ubuntu子系统及图形界面

作为全球最流行且最有影响力的Linux开源系统之一,Ubuntu自发布以来在应用体验方面:有较大幅度的提升,即使对比Windows、MacoS等操作系统,最新版本的Ubuntu也不逊色。下面教大家在win10系统中安装ubuntu子系统及图形界面。第一步&a…

为什么python打开pygame秒关闭后在运行_当我运行Python程序时,pygame窗口打开片刻,然后退出 - python...

我是一个刚开始尝试通过在线课程使用python和pygame制作游戏的程序员。但是,当我运行以下代码时,pygame窗口将打开一秒钟,然后关闭。 import pygame pygame.init() screen pygame.display.set_mode((900,700)) finished False while finish…

es 时间字段聚合_ES之五:ElasticSearch聚合

1、单值聚合Sum求和,dsl参考如下:{"size": 0,"aggs": {"return_balance": {"sum": {"field": "balance"}}}}返回balance之和,其中size0 表示不需要返回参与查询的文档。Min求最小值{"…

div字体居中_div和span的使用

这节我们来制作以下效果我们先把四个段落的文字都写出来,分别包含在p标签里现在看到的效果如下我们来一点一点给它加入样式首先,来使文字水平居中并且加背景色但是这样显示的效果有一些问题,直接加入文字背景会显示背景顶着两头,导…

java将mysql数据写入到txt_java 追加写入数据到txt

方法一try {BufferedWriter out new BufferedWriter(new FileWriter(fileName));out.write("aString1\n");out.close();out new BufferedWriter(new FileWriter(fileName,true));out.write("aString2");out.close();BufferedReader in new BufferedRead…

dubbo协议_Dubbo协议解析与OPPO自研ESA RPC框架实践

本文来自OPPO互联网基础技术团队,转载请注名作者。同时欢迎关注我们的公众号:OPPO_tech,与你分享OPPO前沿互联网技术及活动。1. 背景Dubbo是一款高性能、轻量级的开源Java RPC框架,诞生于2012年,2015年停止研发&#x…

fastjson反序列化过滤字段属性_原创干货 | 从RMI入门到fastjson反序列化RCE

关注我,让我成为你的专属小太阳吧RMI入门什么是RMIRMI(Remote Method Invocation)为远程方法调用,是允许运行在一个Java虚拟机的对象调用运行在另一个Java虚拟机上的对象的方法。这两个虚拟机可以是运行在相同计算机上的不同进程中,也可以是运…

python pyquery.get()_Python爬虫之PyQuery使用(六)

Python爬虫之PyQuery使用PyQuery简介pyquery能够通过选择器精确定位 DOM 树中的目标并进行操作。pyquery相当于jQuery的python实现,可以用于解析HTML网页等。它的语法与jQuery几乎完全相同,对于使用过jQuery的人来说很熟悉,也很好上手。初始化…

axure web组件下载_Element - 饿了么团队出品的神级桌面 UI 组件库

一套著名的桌面端的组件库,同时提供Sketch、Axure模板资源文件方便快速产品设计。 介绍由饿了么团队出品,一套为开发者、设计师和产品经理准备的组件库,提供了配套axure、sektch设计资源,可以直接下载使用,能帮我等搬砖…

三农电子商务创业创新大赛作品_全国大学生电子商务“创新、创意及创业”挑战赛五邑大学校赛...

大赛简介第十届全国大学生电子商务“创新、创意及创业”挑战赛(简称“三创赛”)是由全国电子商务创新产教联盟主办,由“三创赛”竞赛组织委员会统一策划、组织、管理与实施。“三创赛”由校赛、省赛和国赛三级竞赛组成,分别由教育部认可的全国高校提出申…

程序员的数学 pdf_作为一个程序员,分享我日常学习方式,自学渠道和方式

做了几年程序员,只有高中学生的基础,就做不了高等数学算法相关工作,在有限的技术领域里进行自学做自己能做的业务。学习是少不了的事情,每天一大部分时间都是处于自学状态。第一个平台是慕课网,从高中毕业开始看慕课网…

python中可通过()实现代码的复用_(  )是可复用的,提供明确接口完成特定功能的程序代码块。...

【填空题】PE 表示( )线,PEN表示( )线;【单选题】建筑电气工程平面图中的图例 MEB 表示( )。【其它】自己选择几个著名品牌的官方网站,进行比较归纳,整理出你认为企业官网应当设置的板块,理由是什么?【判断题】实现二十进制计数,要用到进位端Qc。(5.0分)【单选题】截平面垂直于…

apache2 wordpress目录权限_小白指南:WordPress中的用户角色和权限

WordPress本身自带了一套用户角色管理系统,这套系统定义了每个用户角色可以做什么,不可以做什么。随着网站的发展,弄懂这些用户角色和权限的问题是非常有必要的。在这篇小白指南中,我们将用图表的形式对比WordPress中每个用户角色…