sql left join用法_图解 SQL 中 JOIN 的各种用法

点击上方“Java知音”,选择“置顶公众号”

技术文章第一时间送达!

作者:CodingStar

cnblogs.com/BoyceYang/p/3145279.html

一、概要

JOIN对于接触过数据库的人,这个词都不陌生,而且很多人很清楚各种JOIN,还有很多人对这个理解也不是很透彻,这次就说说JOIN操作。

图片是很容易被接受和理解,所以尝试使用图片来说明一下。

二、JOIN分类

客官:小二,上JOIN分类!

……

小二:客官,新鲜出炉的JOIN分类图片来喽。

f5591c93039b10b14716bb4af667cbcb.png

三、JOIN分类详解

客官:小二,速速详细道来!

小二:现在让小二来给您详细介绍。

INNER JOIN:

仅仅返回两个表中,匹配列相同的列值,所在行的数据。

a54db2bc066c483f63e00f1b580a6700.png

SELECT * FROM Table1 t1 INNER JOIN Table2 t2 ON t1.Col1 = t2.Col1

LEFT OUTER JOIN:

左外连接:返回左表的所有数据,并且在右表中不能匹配的列值,其坐在行则使用空值。

426ba9175a75937b99bc82b21f3ec501.png

SELECT * FROM Tables1 t1 LEFT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2

LEFT OUTER JOIN - WHERE NULL:

返回和右表不匹配的所有数据行

661a86b8de8aa426fd420d9ec8c8e6ff.png

SELECT * FROM Table1 t1 LEFT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t2.Col1 IS NULL

RIGHT OUTER JOIN:

右外连接:返回右表的所有数据,并且在左表中不能匹配的列值,其所做在行则使用空值。

f152da3e9f8201f6bb5a294d3a77f730.png

SELECT * FROM Tables1 t1 RIGHT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2

RIGHT OUTER JOIN – WHERE NULL:

返回和左表不匹配的所有数据行。

695f6853de3186a1cd636d8f3c15d813.png

SELECT * FROM Table1 t1 RIGHT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t1.Col1 IS NULL

FULL OUTER JOIN:

完全连接可看作是左外连接和右外连接结果之和,返回两个表的所有数据,如果匹配列的值在两个表中匹配,那么返回数据行,否则返回空值。

4f60bbe46ea1894652f2389106225e64.png

SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1

FULL OUTER JOIN – WHERE NULL:

返回内连接以外的数据行,即匹配列坐在行以外的所有数据。

e2f32b61f36785df81b79739fd4fe48c.png

SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.ID = t2.ID WHERE t1.ID IS NULL OR t2.ID IS NULL

CROSS JOIN:

交叉连接不需要任何连接条件。这个会把两个表的的数据进行笛卡尔积操作。

aeda2d5cc93d3ce27447740337a3ac92.png

SELECT * FROM Table1 t1 CROSS JOIN Table2 t2

小二:小二已经介绍完毕,客官,请慢用。

Java知音,专注于Java领域 技术文章分享。

网址:www.javazhiyin.com  ,搜索Java知音可达!

看完本文有收获?请转发分享给更多人

169e3a676840cb95ccfd241fcc14e945.png

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

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

相关文章

超级计算机清华,从清华到华科 名校为何主办超级计算机大赛?

古罗马政治家、哲学家塞涅卡曾经说过:“自然赐给了我们知识的种子,而不是知识的本身。”在超级计算机领域,ASC世界大学生超级计算机竞赛正是这样一颗“种子”,北京、上海、广州、太原、武汉……ASC竞赛正在将超算的知识播撒到全球…

2019计算机组成原理及答案,2019计算机组成原理复习题(一)

《2019计算机组成原理复习题(一)》由会员分享,可在线阅读,更多相关《2019计算机组成原理复习题(一)(3页珍藏版)》请在人人文库网上搜索。1、一、填空类型题1设浮点数阶码为8位(含1位阶符),尾数为24位(含1位数符),则32位二进制补码…

python __reduce__魔法方法_非常全的通俗易懂 Python 魔法方法指南(下)

点击上方“咸鱼学Python”,选择“加为星标” 第一时间关注Python技术干货! 作者:Rafe Kettler 翻译:hit9 来源:https://pyzh.readthedocs.io/en/latest/python-magic-methods-guide.html 06. 反射 你可以通过定义魔法方…

计算机一级查询记录,技巧查看电脑中使用过的记录痕迹的详细教程

XP的系统是很多的用户还在操作的一款系统,其实现在更新以后最新的系统也是很好的使用的,开机的时候很多的用户对于不同的设置开机的时间还有如果你的电脑被别人的看到了的话是怎么实现查看的呢,今天小编就来跟大家分享一下技巧查看电脑中使用…

图像中值滤波python代码_图像中值滤波FPGA实现

C语言实用数字图像处理.pdf6.34 MB05-11-13|19:30 FPGA实验报告-李炎东.doc633.66 kB16-01-14|10:28 中值滤波在红外成像引信中的应用及硬件实现.caj31.64 kB12-12-13|16:47 图像中值滤波硬件算法及其在FPGA中的实现.pdf344.77 kB05-11-13|21:14 图像灰度增强算法的研究.pdf1.7…

python生成固定长度随机数_python日记——random模块

randomrandom模块用于生成伪随机数。真正意义上的随机数(或者随机事件)是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的。而计算机中的随机数是所谓的随机函数按照一定算法模拟产生的,其结果是确定的,是可预测的。所以用计算机…

计算机室内设计cad实践报告,cad实习报告3000字

电子电路设计是现代信息技术的重要科学,是从事设计各种元器件、电路设计和电子系统设计与制造的技术性强的学科,也是我国正在大力发展并继续人才的重要专业技术领域。从事该行业的工程人员具有电子应用于设计的基础理论、基本知识和基本技能,…

foreach判断最后一个_ArrayList集合为什么不能使用foreach增删改?

点击上方“Java技术前线”,选择“置顶或者星标”与你一起成长译者:奋斗的小程序员链接:http://suo.im/4XaI8Q编程过程中常常需要使用到集合,而ArrayList也是我们常常使用的,但是最近在一次删除和增加中出现了一些问题&…

计算机文本处理竞赛题目,文字处理竞赛题目(word2010).pdf

文字处理竞赛题目(word2010).pdf (5页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!11.90 积分文字录入与排版高手竞赛 大 学 计 算 机 基 础 教 研 室 2 0 1 5 / 1 1 / 1 滁州学院 滁州学院《大学计…

头部外伤指什么_什么是颅骨缺损?

什么是颅骨缺损?颅骨缺损颅骨缺损(defect of skull)是指因开放性颅脑损伤造成的颅骨残缺,导致脑部与外界直接相通。颅脑创伤是造成颅骨缺损的主要原因。颅骨缺损综合征是该病的主要症状,常表现为头痛、头晕、缺损处不适、缺损边缘疼痛及感觉过…

java+什么时候才需要deploy_细思极恐 - 什么才是真正的会写 Java ?

文章核心其实,本不想把标题写的那么恐怖,只是发现很多人干了几年java以后,都自认为是一个不错的java程序员了,可以拿着上万的工资都处宣扬自己了,写这篇文章的目的并不是嘲讽和我一样做java的同行们,只是希…

csgo自建服务器打人机,csgo如何跟好友打人机 | 手游网游页游攻略大全

发布时间:2017-02-14CSGO即将在4月18日开启国服先锋测试,如何在CSGO中添加好友呢?下面为大家分享一下CSGO国服加好友方法,一起来看看吧. CSGO国服怎么加好友: 1.打完官匹想加队友好友只需要打开游戏界面正上方观战-我的比赛. ...标签:攻略秘籍 乐游知道…

python求定积分的函数_手搓计算化学(GTO积分by python)

挤牙膏(1/∞)完全基于Python的GTO积分库get√scf因为惨不忍睹已经回炉重做((用python不用c是因为还有其他后续工作,不能封装得连函数都看不到(不然怎么重载代码还提供了积分值公式推导的符号计算&#xff0…

java8新特性_Java8新特性_lambda表达式

lambda介绍λ ,希腊字母表中排序第十一位的字母,英语名称为Lambda。lambda 表达式,也可称为闭包,它是推动Java 8 发布的最重要新特性,允许把函数作为一个方法的参数(函数作为参数传递进方法中)。…

ajax实现局部删除,Express+AdminLTE+hbs+Ajax实现局部刷新终极版(第二部分)

上一篇中已经把所有思路都理顺了,这边我们就开始具体编码吧。(如果您有更好的办法,欢迎留言讨论!互相学习!)我们先来看一下最终完成的效果:一:完整项目目录结构如图所示:二:更换模板…

打乱 数字_崔召幼儿园中班悦享时光——亲子益智游戏数字配对

亲爱的小朋友们,我们已经掌握了简单的,数字宝宝,今天让我们通过已有的数字经验和点数经验来玩一个数字配对的游戏吧!准备:1.准备骰子一个,吸管一支,数字1-6卡片。 2.一个鞋盒盖,一个…

云服务器BBC销售渠道,云服务器BBC控制台

云服务器BBC控制台 内容精选换一换云服务器备份提供了Web化的服务管理平台,即管理控制台和基于HTTPS请求的API(Application programming interface)管理方式。API方式如果用户需要将云服务平台上的服务器备份集成到第三方系统,用于二次开发,请…

python随机数据随概率分布_概率分布及其Python实现

一、学习概率分布有什么用?很多现实中的分布都来自几种概率分布。对个人生活和工作选择非常有帮助。 知道某件事发生的概率对我们作出数据分析决策很有帮助。有时候计算概率很简单,有时候计算概率很复杂,概率分布是帮助我们解决特定问题下的万能模版。 …

安全策略_Spring Security 实战干货:如何实现不同的接口不同的安全策略

1. 前言欢迎阅读 Spring Security 实战干货 系列文章 。最近有开发小伙伴提了一个有趣的问题。他正在做一个项目,涉及两种风格,一种是给小程序出接口,安全上使用无状态的JWT Token;另一种是管理后台使用的是Freemarker&#xff0c…

antd 怎么用ajax,react+dva+antd接口调用方式

一丶 安装通过 npm 安装 dva-cli 并确保版本是0.8.1或以上。$ npm install dva-cli -g$ dva -v0.8.1二丶创建新应用安装完dva-cli之后,就可以在命令行里访问到dva命令(不能访问?)。现在,你可以通过dva new创建新应用。$ dva new dva-quicksta…