搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
笔触狂放9
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
【计算机网络基础——系列3】输入url后页面会遇到的问题_url 能打开接口,浏览器收不到
2
TCL语言(一)
3
DDS 信号发生器实验_基于dds的正弦波发生器
4
Win10计算机首次使用时间,在Win10中使用域帐户首次登陆域控需要10分钟的时间?...
5
CANOE动态链接库CAPLDLL生成_canoe dll文件位置
6
C语言进阶:动态内存管理_内存释放不置空
7
N 年沉淀,机器学习终于开源!
8
MacBookPro使用ParallelsDesktop17安装Win10、Win11,支持M1芯片_macbook m1 win11 parralles csdn
9
【踩坑笔记】git如何忽略已经提交的文件 (.gitignore文件无效)_git 忽略规则对已提交的
10
zookeeper is not a recognized option解决方案_z is not a recog
当前位置:
article
> 正文
数据库之SQL(基本连接,内连接,左外连接,右外连接,全外连接,交叉连接,自连接)_sql可能包含不满足连接条件的行
作者:笔触狂放9 | 2024-05-26 10:30:31
赞
踩
sql可能包含不满足连接条件的行
之前的博客内容我们分享了数据表的查询与管理,但那只是针对数据库中的一个表格进行的查询管理,现在如果我们想要同时看到两个数据表中的数据的话,那要怎么办呢?采用多连接查询的方式。
SQL中有哪几种多连接的方式?
有七种连接的方式:
基本连接,内连接,左外连接,右外连接,全外连接,交叉连接,自连接
如果对连接方式了解的人看到这里会感到很熟悉,但对于不了解的人则是一头雾水,没关系,我们来梳理一下,了解的人可以再重复一遍, 顺便可以提点意见^_^,不了解的人我们来先初步认识一下以上七种连接方式。
一、基本连接
①什么是基本连接?
基本连接又称多表连接,是对多个表内容的查询与连接。
②为什么会有多表连接的存在?
基于数据库的范式理论,数据库的数据查询一个表格未能把信息全部查询出来,所以就涉及到了多表连接的查询。
③多表连接如何连接?
select 不同表格中的列名
from 不同表格
问题一
A,B代表什么?
AB是此代码中的简化定义,在From子句中,表格后面加一个空格即表示可以创建快捷访问或者是重新命名,即班级信息为A表,梅里号为B表
问题二
为什么搜索出来这么多信息?
梅里号表中的数据如下:
因为以上只是select from 的查询语句,而代码则设置了7个内容,所以共查询了7次。以上表格只是简单的查询语句,我们还没有完成多表的连接,多表连接的三要素中我们还差一个where语句。
问题三
加上where语句的效果?
这就查询出来咯,所以,通过以上的例子让我们更加清晰的看到了多表连接的三个必要条件。
问题四
where 在这里起什么作用呢?
关系连接:A表中的班级与B表中的班级建立关联。
二、内连接
①什么是内连接?
内连接也是多表连接,对多表数据进行查询和连接
②那与基本连接有什么区别呢?
我们先看一下他的代码及操作效果:
会发现与基本连接的查询结果是一样的。
那区别在哪里?
内连接与基本连接的查询效果是一样的,都是对多表的查询,只是表现形式,代码不一样而已。
我们看一下代码区别:
基本连接:
内连接:
即在第二个和第三个必备条件上面有区别。
三、外连接,左外连接,右外连接,全外连接
①什么是外连接?
在了解外连接之前我们再重申一下内连接
内连接:指连接结果仅包含符合连接条件的行,参与连接的两个表都应该符合连接条件。
外连接:连接结果不仅包含符合连接条件的行同时也包含自身不符合条件的行。包括左外连接、右外连接和全外连接。
左外连接:左边表数据行全部保留,右边表保留符合连接条件的行。
右外连接:右边表数据行全部保留,左边表保留符合连接条件的行。
全外连接:左外连接 + 右外连接。
②内连接与外连接如何区分?
我的个人理解,
内外
可看做是符合条件
内
的行与符合条件
外
的行
③外连接、左外连接、右外连接,全外连接有什么区别?
我们拿代码及其效果来说话:
A表:梅里号数据:
B表:班级信息数据
内连接:
连接结果仅包含符合连接条件的行
外连接:
连接结果不仅包含符合连接条件的行同时也包含自身不符合条件的行。
左外连接:
不仅包含1-6符合条件的行,还包含左侧的梅里号表中的不符合条件的其他全部数据。
右外连接:
不仅包含1-6符合条件的行,还包含右侧的班级信息表中的其他不符合条件的全部数据。
全外连接:
不仅包含1-6符合条件的行,还包含左右两侧的班级信息表及梅里号表中的其他不符合条件的全部数据。
四、交叉连接
我们来看一下示例就会清晰多了:
交叉连接不带where子句,返回的连接数是第一个表中符合查询条件的数据行数乘以第二个表中符合条件的数据行数,一下表格中第一表中7行数据,第二表中7行数据,那么交叉连接的查询数为7*7=49
问题一:
交叉的连接是按照什么方式连接的呢?
我们来看以下连个表后应该会清楚一些
即:以cross join右侧的表格为基数,逐步的一对多。
问题二:
加上where子句是什么样的呢?
与基本连接,与内连接的结果是一样的,因为查询的where关联条件是AB表中连接部分‘班级’的交叉数据,那不就是相同数据么。
五、自连接
自连接顾名思义:自己与自己连接,一对多,即同一个数据表的多表连接
'梅里号'表格数据:
自连接后是什么样的呢?
与同一个表格的交叉连接数据相同
六、思维导图
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/笔触狂放9/article/detail/626300
推荐阅读
article
21
个问题看
NLP
迁移
学习
的
最新进展
_lm
ptm
...
2020-06-23 03:20:11作者 | Mr Bear编辑 | 丛末2018 年 10月,Bert 问世。从此,...
赞
踩
article
未来已来
,
没有握手等待
的
新
网络
——
HTTP3
协议
简介...
如果你也曾被以下
的
问题困扰
,
那么是时候看看HTTP 3了。1.
网络
协议
的
更
新
需要5~10年才普及
,
这样
的
问题该如何解决...
赞
踩
article
QUIC
协议
连接
原理和特性...
QUIC
全称 Quick UDP Internet Connection(快速UDP互联网
连接
),是由Google提出的...
赞
踩
article
《深入掌握
以太
坊
核心技术
》
--
06-
以太
坊
账户
...
一旦合约运行结束,并且由它发送的消息触发的所有子执行(sub-execution)结束,EVM就会中止运行,直到下次交易...
赞
踩
article
Spark
(四十四):使用Java调用
spark
-
submit
.
sh
(支持 --
deploy
-mod...
之前也介绍过使用yarn api来
submit
spark
任务,通过提交接口返回
applicationId
的用法,具体参...
赞
踩
article
openlayers
入门教程
(
十三):
动画
_
openlayers
动画
...
OpenLayers 是一款流行的JavaScript库,提供了丰富的功能来实现各种地图
动画
效果,包括但不限于轨迹
动画
、...
赞
踩
article
TCL
-
库
编译
过程和
官方
手册_
windows
tcl
编译
...
想看看sqlite3的
官方
demo工程, 没看到. 想
编译
一下sqlite3源码, 看看
编译
后有没有example 工程...
赞
踩
article
inline
内联
函数
static
静态
函数
普通
函数
区别
_c语言
函数
中加always
inline
与...
面试时候一般只会问你
区别
,所有本文只说
区别
。
内联
函数
和
普通
函数
的
区别
:
内联
函数
和
普通
函数
最大的
区别
在于内部的实现方面,当...
赞
踩
article
二叉树
遍历
全面总结(先
,
中
,
后序
,
层序
,
递归
及非
递归
版本
,
如何利用
遍历
方法解决实际
问题
)_
二叉树
遍历
...
这篇博文记录了关于
二叉树
遍历
事无巨细的内容
,
帮助读者全面理解
二叉树
的
遍历
,
如何利用
二叉树
的
遍历
来解决一些重要的
问题
。_二...
赞
踩
article
谷歌
Gemini
:关于
新
的
生成式
人工智能
平台您需要了解
的
一切...
Gemini
在基准测试方面
的
优越性,声称
Gemini
Ultra在“大型语言模型研发中使用
的
32个广泛使用
的
学术基准测试...
赞
踩
article
美国
程序员
平均工资
排行榜...
美国
程序员
平均工资
排行榜美国
程序员
平均工资
排行榜 美国
程序员
平均...
赞
踩
article
GPLv3
和
Apache
License
2.0 开源
协议
...
总的来说,如果您想要一个对商业友好的许可证,允许您在不公开源代码的情况下分发修改过的软件,
Apache
License
...
赞
踩
article
GraphX
图
计算
图
处理知识
图
谱简单
可视化
核心技术
_
graphx
可视化
...
准备在CSDN上写一个关于
GraphX
的专栏,这是第一篇文章。 本文介绍使用
GraphX
创建一张
图
并
可视化
的关键技术...
赞
踩
article
Java
设计模式
实战
~ 总目录_
jav
设计模式
...
本文主要是对前段时间研究
设计模式
和面向对象设计原则做一个总结归纳_
jav
设计模式
jav
设计模式
...
赞
踩
article
spark3
.3.1 for CDH6.3.
2
打包_
spark3
cdh6.3
.
2
...
因为 CDH 在 6.3.
2
之后开始收费,而自带的spark版本太低,还阉割了 spark-sql 功能。所以我们直接...
赞
踩
article
自然
语言
处理
——
语言
模型
_
自然
语言
处理
小
模型
...
1.
语言
模型
语言
模型
是
自然
语言
处理
的重要技术。
自然
语言
处理
中最常见的数据是文本数据。我们可以把一段
自然
语言
文本看做一段离...
赞
踩
article
MyBatis
查询
秘籍:如何只
查询
指定
字
段
_
mybatis
查询
指定
字
段
...
哈喽,大家好,我是木头左!_
mybatis
查询
指定
字
段
mybatis
查询
指定
字
段
...
赞
踩
article
7系列
FPGA
内部的
block
ram
资源和
原语
RAMB18E1
深入分析
...
原语
RAMB18E1
7系列
FPGA
内部的
block
ram
资源和
原语
RAMB18E1
深入分析
...
赞
踩
article
java
对外
sdk
提供
接口_
Android
SDK封装,
对外
提供
接口...
项目中需要把连接服务器的部分做成一个service并生成一个jar模块。其他产品就可通过这个包来快速的开发连接服务器的应...
赞
踩
article
Mybatis
对象
关系映射_
mybatis
映射
对象
...
1、什么是
Mybatis
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBati...
赞
踩
相关标签
QUIC
HTTP3
网络协议
UDP
区块链
笔记
java
大数据
shell
openlayers动画
openlayers基础教程
openlayers入门教程
大剑师
TCL
静态函数
inline内联函数
普通函数
二叉树
算法
数据结构
人工智能
开源协议
GraphX
可视化