数据库的内连接和外连接的区别

news2024/12/24 9:01:33

内连接:

指连接结果仅包含符合连接条件的行,参与连接的两个表都应该符合连接条件。
1.等值连接
依据两个表中相同内容的字段进行连接
表TESTA,TESTB,TESTC,各有A, B两列。
在这里插入图片描述
内连接

内连接,即最常见的等值连接,例:

SELECT  * 
FROM  TESTA,TESTB
WHERE  TESTA.A=TESTB.A

在这里插入图片描述

2.非等值连接
依据两个表中内容相关列(非相同)字段进行连接
3.自连接

外连接:

连接结果不仅包含符合连接条件的行同时也包含自身不符合条件的行。包括左外连接、右外连接和全外连接。

左外连接:左边表数据行全部保留,右边表保留符合连接条件的行。
1. 左外连接 left outer join 或者 left join

左外连接就是在等值连接的基础上加上主表中的未匹配数据,例:

SELECT  *
FROM  TESTA 
LEFT  OUTER  JOIN  TESTB 
ON  TESTA.A=TESTB.A

在这里插入图片描述

右外连接:右边表数据行全部保留,左边表保留符合连接条件的行。
右外连接 right outer join 或者 right join

右外连接是在等值连接的基础上加上被连接表的不匹配数据

SELECT  *
FROM  TESTA 
RIGHT  OUTER  JOIN  TESTB 
ON  TESTA.A=TESTB.A

在这里插入图片描述

全外连接:左外连接 union 右外连接。
全外连接 full outer join 或者 full join

全外连接是在等值连接的基础上将左表和右表的未匹配数据都加上。

SELECT  * 
FROM  TESTA 
FULL  OUTER  JOIN  TESTB
ON  TESTA.A=TESTB.A

在这里插入图片描述
select

from
a
join
b
on

join
c
on

where

SELECT s.name, s.id, g.yuwen, sl.level
FROM grade g
JOIN student s
ON s.id = g.id
JOIN score_level sl
ON g.yuwen BETWEEN sl.low AND sl.high
where g.yuwen > 70;

在这里插入图片描述
上面表示a表和b连接,然后a表再和c连接,其结果合并在一起。不是a表先连接b,其结果再和c连接
where语句放在最后

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

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

相关文章

机器学习实战-系列教程4:手撕线性回归3之多特征线性回归(项目实战、原理解读、源码解读)

🌈🌈🌈机器学习 实战系列 总目录 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 手撕线性回归1之线性回归类的实现 手撕线性回归2之单特征线性回归 手撕线性回归3之多特征线性回归 手撕线性回归4之非线性回归 8…

Vue中数据可视化关系图展示与关系图分析

Vue中数据可视化关系图展示与关系图分析 数据可视化是现代Web应用程序的重要组成部分之一,它可以帮助我们以图形的方式呈现和分析复杂的数据关系。Vue.js是一个流行的JavaScript框架,它提供了强大的工具来构建数据可视化应用。本文将介绍如何使用Vue.js…

基于python实现贪心算法、蛮力法、动态规划法解决分数背包问题和0-1背包问题(附完整源码下载)

背包问题算法设计 问题要求在一个物品集合中选择合适的物品放入背包,在放入背包中的物品总重量不超过背包容量的前提下,希望放入背包的物品总价值最大。根据是否允许部分物品放入背包的要求,背包问题可以分为【分数背包问题】和【0-1背包问题…

Spring Web Flow远程代码执行漏洞复现(CVE-2017-4971)

一、搭建环境 cd vulhub/spring/CVE-2017-4971 docker-compose up -d 影响版本:Spring Web Flow 2.4.0 ~ 2.4.4 触发条件: 1.MvcViewFactoryCreator对象的useSpringBeanBinding参数需要设置为false(默认值) 2. flow view对象中设置BinderConfiguration…

网页版QQ签到加速源码 QQ音乐等级加速源码 CF活动一键领取源码 QQ手游等级加速

QQ网页签到加速小工具PHP源码二次优化版 包含QQ空间功能 QQ空白昵称 QQ大会员签到 CF活动一键领取 清空QQ空间说说 QQ每日打卡加速 QQ空间删除说说 QQ手游等级加速 QQ微视等级加速 QQ音乐等级加速签到

【操作系统】24王道考研笔记——第四章 文件管理

第四章 文件管理 一、文件系统基础 1.基本概念 2.文件的逻辑结构 顺序文件: 索引文件: 索引顺序文件: 效率分析: 多级索引顺序文件: 总结: 3.文件目录 文件控制块(FCB) 目录的基本…

第三方软件测评报告怎么做?

第三方软件测试 总体来说,软件产品验收测试一般主要包括以下几个步骤: 1.制定测试计划,测试项,测试策略及验收通过准则,并经过客户参与的计划评审。 2.建立测试环境,设计测试用例,并经过评审…

华脉智联发布国标28181 Android SDK和DEMO

在目前很多行业项目中,客户使用的是海康、大华等监控平台的GB/28181平台,或者是其他的第三方的GB/28181平台。但是对于那些不具备GB/28181协议的单兵终端,如何接入GB/28181平台网络中呢? 首先,我们了解下GB/T28181&…

Vue中表单手机号验证与手机号归属地查询

下面是一篇关于Vue中如何进行表单手机号验证与手机号归属地查询的Markdown格式的文章,包含代码示例。 Vue中表单手机号验证与手机号归属地查询 手机号验证和归属地查询是许多Web应用程序中常见的功能之一。在Vue.js中,我们可以轻松地实现这两个功能。本…

好奇一下各个大模型对华为mate60系列的看法

目前华为Mate60系列手机已上市并获抢购,个人觉得很不错,很好奇各个AI大模型对此事的看法,于是对chatGPT、文心一言、讯飞星火进行了一下粗浅的测试。 题目一(看看三个模型的综合分析能力) “目前华为Mate60系列手机已…

CHS零壹视频恢复程序OCR使用方法

目前CHS零壹视频恢复程序监控版、专业版、高级版已经支持了OCR,OCR是一种光学识别系统,通俗说就和扫描仪带的OCR软件一样的原理: 分析照片->OCR获取字符串->整理字符串->输出 使用方法如下(以CHS零壹视频恢复程序监控版…

最近

深圳近日经历了一场暴雨,周四夜晚,很多下晚班的同事因为雨水没法顺利打车回家。有个朋友,因为打车的等待时间太长,索性直接在公司过夜了。 早上因为磅礴的大雨我搁浅在家,也是因为下雨,本来要和龙哥一起去广…

html禁止用户复制内容方法

要禁止复制内容,可以使用以下几种方法: 使用CSS属性:可以通过设置user-select属性为none,这样用户就无法选中和复制内容。例如: body {-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user…

用栈实现队列,用队列实现栈(JAVA)

用两个栈实现队列 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 class CQueue {Stack<Integer>innew Stack<>();Stack<Integer>outnew Stack<>();public CQueue() {Stack<Integer>innew Stack<>();Stack<…

SpringBoot集成Apache RocketMQ详解

文章目录 0. 前言1. Spring Boot 集成Apache RocketMQ详细步骤1.1.添加依赖1.2.配置RocketMQ1.3.创建消息生产者&#xff08;Producer&#xff09;1.4.创建消息消费者&#xff08;Consumer&#xff09; 2. 测试验证3. 常见报错4. 参考文档5. 源码地址 0. 前言 上个章节我们学习…

下载Ubantu镜像文件、创建虚拟机以及ubantu安装详细教程

目录 前言 Ubantu是什么&#xff1f;它有什么作用&#xff1f; 一、Ubantu镜像文件下载步骤 1.第一步安装VMware Workstation 2.第二步下载Ubuntu的镜像文件 镜像文件下载官网网址入下&#xff1a; 二、创建虚拟机和安装Ubantu的步骤 1.打开VMware Workstation并点击创…

反射与注解

【今日】 人生只有一次 不妨大胆一点 目录 一 反射 1.访问构造方法 1.Constructor的使用 2.反射一个类中的所有构造方法 3.用Constructor创建并返回实列对象 2.访问成员变量 1Field的使用方法 2.反射一个类中的所有成员变量 3.获取修改成员变量的值 3.访问成员方…

javaee springMVC model的使用

项目结构图 pom依赖 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org…

【LeetCode75】第五十一题 最大子序列的分数

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们两个长度一样的数组&#xff0c;让我们再num1中找出一个长度为k的子序列&#xff0c;然后把这个子序列累加的和乘上在nums2中对…

74 QML ProgressBar显示进度数字

1 引言 由于目前使用的是qt.5.14版本&#xff0c;Qt Quick Controls 已经从1.0版本 变为2.0版本了&#xff0c;如果继续使用的Qt Quick Controls 1 的style:方式&#xff0c;改变进度条的样式已经不行了&#xff0c;其会报错&#xff1a;Invalid property name "style&quo…