内连接、外连接的区别及作用

article/2025/10/12 19:00:17

1.基本介绍

不管是内连接、外连接还是带where子句的多表查询,都组合自多个表,并生成结果表。

1.内连接只返回两个表中连接字段相等的行。inner join(等值连接) 只返回两个表中联结字段相等的数据
2.左外连接(也称左连接)返回包括左表中的所有记录和右表中连接字段相等的记录。以左表为基表,在from子句中使用关键字left outer join”或关键字“left join”来连接两张表。
3.右外连接(也称右连接)返回包括右表中的所有记录和左表中连接字段相等的记录。以右表为基表,在from子句中使用关键字“right outer join”或关键字“right join”来连接两张表。
4.全外连接返回左右表中所有的记录和左右表中连接字段相等的记录。在from子句中使用关键字“full outer join”或关键字“full join”来连接两张表。

5.交叉连接(笛卡尔积):返回被连接的两个表所有数据行的笛卡尔积。返回结果集合中的数据行数等于第一个表中复合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。

 

6.左连接与内连接的关系:左外连接 = 内连接 + 左边表中失配的元组(其中,缺少的右边表中的属性值用NULL表示)

 

 

7. 右连接与内连接的关系:右外连接 = 内连接 + 右边表中失配的元组(其中,缺少的左边表中的属性值用NULL表示)

8.全外连接与内连接的关系:内连接 + 左边表中失配的元组 + 右边表中失配的元组。

 9.交叉连接

 

 2.代码演示

 1.交叉连接(又称笛卡尔积)

--第一种
select * from tb1 cross join tb2;
--第二种
select * from tb1 join tb2;
--第三种
select * from tb1,tb2;   --纯粹连接查询
--第三种+where条件
select * from tb1,tb2 where tb1.id=tb2.id;

2.内连接

--语法(内外连接模板都如此)
select 列名
from 表名1
inner join 表名2
on 条件;--实操:根据学生表xsb和学生成绩表cjb,使用内连接查询每个学生及其选课成绩的详细信息。
select * from xsb
inner join cjb
on xsb.xh=cjb.xh;

3.左外连接/右外连接

作用:实现两表的连接,可以查询展示两表中的需要信息。区别如下:

--左连接,查询在学生表中的所有学号的有关信息
select * from xsb
left join cjb
on xsb.xh=cjb.xh;--右链接,查询在成绩表中的所有学号的有关信息
select * from xsb
right join cjb
on xsb.xh=cjb.xh;

4.全外连接 

select * from xsb
full join cjb
on xsb.xh=cjb.xh;

参考:

1.内连接、外连接、全外连接、交叉连接用法汇总(个人记录使用)_Wind2814的博客-CSDN博客_全连接 外连接

2.(1条消息) 内连接、左外连接与右外连接的区别及作用介绍_吴迪98的博客-CSDN博客_左连接,右连接,内连接,外连接的区别 


http://chatgpt.dhexx.cn/article/LG9l5uOJ.shtml

相关文章

GitHub下载指定文件夹的方法(简单快捷)

GitHub下载指定文件夹的快捷方法 GitHub上默认是无法下载指定的文件夹,然而有时候我们只需要下载其中一个文件夹的内容,比如下图中的GAN: 可以复制该文件夹的链接: 然后在该网站上即可下载到所需的文件:

如何移动下载文件夹到另一个盘?

下载文件夹占用了越来越多的C盘可用空间?本教程将教你如何安全易行地将下载文件夹移动到其他驱动器,以便你可以释放更多的C盘空间。 关于下载文件夹 从网站下载程序后它们会被存储在哪里?一般来说,当你从互联…

文件下载a

文章目录 1、单个文件选择路径下载2、多个文件打包成zip,选择路径下载3、打包下载选中的文件和文件夹只通过前端就下载文件(网络URL)设置下载文件的名称补充 前端代码一个a标签,href就是要访问的controller的路径,以下…

GitHub 下载单个文件/文件夹

来源: github下载单个文件和目录_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1rL411K7Mx?spm_id_from333.880.my_history.page.click 步骤: 下单个文件: 1.首先你给有途径访问到github 2.在浏览器(Edge)扩…

Tabby sftp 下载文件夹

目录 Tabby介绍 下载文件夹 Tabby介绍 Tabby是一个基于 TypeScript 开发的终端模拟器,适用于 Windows,macOS 和 Linux。 可使用SSH、SFTP连接本地和服务器。 下载文件夹 下载文件直接选择本地编辑即可,但是不支持直接操作文件目录&#…

在GitHub 上下载指定的文件夹的两种方法

一、下载所有文件 首先介绍下如果你要下载GitHub下所有的项目文件的话,可以点击其主页下的Clone or download下的Download Zip ,可以直接下载到本地电脑;或者复制其链接,如下 然后再打开Git Bash,前提是你需要电脑已经下载安装好了Git,不会看我上篇安装Git文章。

【google drive 下载整个文件夹】

google drive 下载整个文件夹失败,提示 "try enable third party cookies" refs方法 refs https://support.google.com/drive/answer/2423534?hlen#zippy%2Cblocked-third-party-cookies-can-prevent-drive-web-downloads 方法 在谷歌浏览器地址栏输入…

从github上下载文件,文件夹,整个项目

一、下载文件 1、点进文件,如下图,然后右键红框 2、选择‘将链接另存为’,会出现以下界面 3、然后下载就可以。如果你成功了,恭喜你!但是我失败了。。。 不晓得是我电脑的原因还是别的什么,尝试好多次都不…

通过下载链接,下载文件到指定的文件夹下

本文仅仅为了记录问题和解决办法,原文链接:https://www.cnblogs.com/rumengqiang/p/11156267.html 需求如题目所说,已知下载的链接url,和要保存的路径,将文件保存到指定的路径下: /*** 通过url&#xff0…

怎么从GitHub下载文件夹

方法1:右上角的下载按钮 方法2:没有下载按钮,复制GitHub网址输入到这个网站Gitzip下载:http://kinolien.github.io/gitzip/

Github | 如何在Github上只下载一个文件或文件夹!?

1写在前面 用过github的小伙伴们都知道,我们可以通过git clone命令来下载整个项目到本地。😘 但我最近在使用github的时候遇到一个问题,就是我只想下载这一个文件,其他的我都不想要。🫠 解决方案大家往下看吧&#xff…

下载文件夹的解决方案

ASP.NET批量下载文件的方法 这篇文章主要介绍了ASP.NET批量下载文件的方法,实例汇总了常见的asp.net实现批量下载的方法,具有一定的实用价值,需要的朋友可以参考下 本文实例讲述了ASP.NET批量下载文件的方法。分享给大家供大家参考。具体方法如下: 一、实现步骤 …

Ftp 下载文件夹

今天给大家分享一下使用Ftp 下载文件夹 首先说一下 流程&#xff0c; 我们需要用java代码先将我们需要下载的文件夹压缩成一个zip文件 然后我们在用户下载文件的方法 去下载这个zip 就可以 第一步 我们需要导入两个包 <dependency><groupId>com.jcraft</group…

web下载文件夹

1、文件下载有两种方式&#xff1a;一种是超链接&#xff0c;一种是Servlet提供下载。 2、超链接下载时&#xff1a;当文件可以在网页直接打开时&#xff0c;会直接打开文件&#xff0c;而不是下载&#xff0c;当文件打开不了时&#xff0c;会提供下载窗口。 3、超链接下载原…

List数组转换JSON格式

最近在写java&#xff0c;然后leader需要几个接口&#xff0c;里面的东西就是json格式。然后需求明白后&#xff0c;想了想思路:先把需要的东西从库里拿出来放到一个数组里面&#xff0c;然后再将数组转换成json&#xff0c;大体思路确定后&#xff0c;开始敲代码。 首先List一…

java中map、list转json

1、需导入的jar包 commons-beanutils-1.8.0.jar commons-collections-3.2.1.jar commons-lang-2.6.jar commons-logging-1.1.1.jar ezmorph-1.0.6.jar json-lig-2.4-jdk15.jar xom-1.2.6.jar 可自行网上下载 2、 3.List转成json格式 3、map转json 4、 参考&#xff…

Fastjson实用工具类,List转JSONString,List转JSONArray,JSONArray转List,JSONArray转ArrayList,JSONObject转HashMap

Fastjson实用工具类&#xff0c;List转JSONString&#xff0c;List转JSONArray&#xff0c;JSONArray转List&#xff0c;JSONArray转ArrayList&#xff0c;JSONObject转HashMap 问题背景Fastjson转换心得Lyric&#xff1a;我们拥有 问题背景 因为经常用到fastjson&#xff0c;…

java中好用的list转json的工具hutool

java中好用的list转json的工具hutool 最近做服务器接口开发的时候遇到的小问题&#xff0c;数据库查询之后的数据怎样快捷的转化为json数据&#xff0c;第一时间想到了查库 查了挺久的&#xff0c;好多都是用代码实现&#xff0c;比较懒&#xff0c;这方面内容代码实现的偏多…

list转json

Struts2中list转换为json jar包下载地址 所需jar包&#xff0c;如下图&#xff1a; 实现代码&#xff0c;这里以execute方法为例&#xff1a; Overridepublic String execute() throws Exception {//1.调用Service根据typecode获得数据字典对象listList<BaseDict> l…

json与对象互转:json转实体类、实体类转json、json转List、List转json

目录 使用fastjson和Gson实现&#xff1a;实体类与json互转&#xff0c;List与json互转1. 实体类转json数据1.1 fastjson:1.2 Gson&#xff1a; 2. json转实体类2.1 fastjson&#xff1a;2.2 Gson: 3. List集合转json3.1 fastjson:3.2 Gson&#xff1a; 4. JSON转List集合4.1 f…