sql的左连接(LEFT JOIN)、右连接(RIGHT JOIN)、内连接(INNER JOIN)的详解

article/2025/9/23 13:11:15

sql的左连接(LEFT JOIN)、右连接(RIGHT JOIN)、内连接(INNER JOIN)的详解:

这里以两个表的连表为例:


创建表1:为人员表,这里将它当做左表;

CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(255) DEFAULT NULL,`password` varchar(255) DEFAULT NULL,`phone` varchar(255) DEFAULT NULL,`address` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

创建表2:为发布文章表,这里将它当做右表;

CREATE TABLE `news` (`id` int(11) NOT NULL AUTO_INCREMENT,`types` varchar(255) DEFAULT NULL,`titles` varchar(255) DEFAULT NULL,`contents` varchar(255) DEFAULT NULL,`author` varchar(50) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

1.左连接(LEFT JOIN)全称为左外连接:

是以左表为基础,根据ON后面给出的两个表的条件将两个表连接起来。
结果是会将左表所有的查询数据展示出来,而右表只展示出ON后面的条件与左表满足的部分。

举例:以左表的username字段和右表的author字段作为两个表的连接字段将两个表连接起来;

select user.username,user.phone,news.types,news.author,news.titles from user 
left join news on user.username = news.author

如图1

 

从图中可以看出左表的数据都展示出来了,而右表的数据只展示出了与左表连接的数据;
如果左表有数据和右表的数据为一对多的话,那么右表的多条对应左表一条的数据都展示出来。

2.右连接(RIGHT JOIN)全称为右外连接:

是以右表为基础,根据ON后面给出的两个表的条件将两个表连接起来。
结果是会将右表所有的查询数据展示出来,而左表只展示出ON后面的条件与右表满足的部分。

举例:以左表的username字段和右表的author字段作为两个表的连接字段将两个表连接起来;

select user.username,user.phone,news.types,news.author,news.titles from user 
right join news on user.username = news.author

如图2

 

从图中可以看出右表的数据都展示出来了,而左表的数据只展示出了与右表连接的数据;
如果右表有数据和左表的数据为多对一的话,那么左表的一条对应右表多条的数据会重复展示。

3.内连接(INNER JOIN)

是同时将两个表作为参考对象,根据ON后面给出的两个表的条件将两个表连接起来。
结果则是只有两个表同时满足ON后面的条件的部分才会展示出来。

举例:以左表的username字段和右表的author字段作为两个表的连接字段将两个表连接起来;

select user.username,user.phone,news.types,news.author,news.titles from user 
inner join news on user.username = news.author

如图3

 

从图中可以看出只有左表和右表两个表连接有相同的数据的部分才会展示出来。
 


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

相关文章

SQL——左连接(Left join)、右连接(Right join)、内连接(Inner join)

文章目录 前言一、概念二、例子总结 前言 最近在做SQL相关的练习,发现以前那么自信的SQL放久了不碰也变得棘手起来,特别是这一块表之间的内外连接。所以这篇是关于这个内外连接的整理。 一、概念 首先还是介绍一下这三个的定义 1.​Left join&#xf…

如何判断一个数是否为素数(质数)?

用For语句实现循环 基本思路:若一个数n能被2和√n之间的数整除(取余为0),则可判断n为素数。可从2开始测试,一直到√n为止。For语句语法规则 一般形式: for(表达式1;表达式2&#…

素数(质数)判断的五种方法

素数判断的五种方法 素数判断是我们写程序过程中经常遇见的一个问题,于是今天我简单地整理一下常用的素数判断的方法。 素数的介绍 素数定义 质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其…

Java中判断质数的方法

Java中判断质数的几种方法 说明: 1.质数:又称素数。是一个大于1的自然数(最小质数为2)。除了1和它自身外,不能被其他自然数整除的数。 >质数:用n除[2,n-1]的所有数,不能整除就是n就是质数。 2.[2,n-1]缩…

C++高效的质数的判断(2种方法)

前提准备 在开始质数的讨论之前,我们先预备一下: 质数的定义:若一个正整数除了1和它自身之外不能被任何自然数整除,则该数称为质数,也叫素数。否则为合数。 由定义可知,所有小于等于1的数既不是质数&…

C语言 判断质数很简单

算法分析:假设对于一个正数a,如果a的约数只有两个,1和它本身,那这样数叫做素数。我们对a在2—a-1之间取余,如果还能找到第三个约数,使得余数为0,那a就不是素数,如果找不到第三个约数&#xff0c…

判断一个数是否为质数(素数)的4种方法

目录 1.什么是质数? 2.如何判断是否为质数? 方法1 方法2 方法3 方法4 1.什么是质数? 首先来看质数的概念: 质数(Prime number),又称素数,指在大于1的自然数中,除了…

判断一个数是否为质数/素数——从普通判断算法到高效判断算法思路

定义:约数只有1和本身的整数称为质数,或称素数。 计算机或者相关专业,基本上大一新生开始学编程都会接触的一个问题就是判断质数,下面分享几个判断方法,从普通到高效。 1)直观判断法 最直观的方法&#xf…

【C】C语言判断是否质数

类似帖子很多了,本文侧重循序渐进逐步优化的写出判断质数的代码。 1.质数定义 质数 (素数)只能被 1 或自己整除。 同时它必须是大于 1 的整数。 1 不是质数也不是合成数。 常见的质数就是:2,3,5,7&…

判断质数(函数)

题目描述 质数是指除了1和本身之外没有其他约数的数,如7和11都是质数,而6不是质数,因为6除了约数1和6之外还有约数2和3。输入一个正整数,判断它是否为质数,如是质数则输出“Yes”,否则输出这个数的大于1的…

[C++]判断质数

最近做了几个判断质数的函数&#xff0c;记录一下&#xff1a; 一直接试除 bool is_prime3(unsigned long long n) { //slowfor (int i 2; i < n - 1; i) {if (n % i 0) {return 0;}}return 1; } note&#xff1a;比较慢 二一点优化 每次试除时其实只要除到 sqrt(n) 并且…

c++质数判断

循环和函数:质数判断 对于大于1的数,如果除了1和它本身,它不能再被其它正整数整除,那么我们说它是一个质数。要求编写程序判断给定的输入是否是质数。输入为一个整数N(1<N≤1000)。如果给出的整数N为质数,那么 输出YES;如果N不是质数,那么输出NO。

键入一个整数,判断是否是质数(两种方法)

判质数的原理就不过多赘述了&#xff0c;请移步C语言求100到500的所有质数&#xff0c;每10个数字一行打印_马拾捌的博客-CSDN博客_c语言每十个一行质数就是只能被1和他自己整除的数字第一次代码优化一个数字的因数里&#xff0c;除了1和自己以外最大的因数一定小于等于自身的一…

(三)混合边缘AI人脸对齐

目录 介绍 对齐算法 算法的实现 向检测器添加人脸对齐 修改对齐算法 下一步 在这里&#xff0c;我们将简要说明如何在Raspberry Pi上安装MTCNN、TensorFlow和Keras。然后我们在视频文件上启动人脸检测以测试性能&#xff0c;然后简要说明如何在实时模式下运行检测。最后&…

人脸对齐及关键点检测

严格定义上的人脸识别分为四个步骤&#xff1a; ①人脸检测&#xff1a;从图片中准确定位到人脸 ②人脸对齐&#xff1a; 自动定位出面部关键特征点&#xff0c; ③进行特征提取 ④对两张人脸图像的特征向量进行对比&#xff0c;计算相似度。 当今的人脸识别系统如下图所示…

人脸对齐 matlab,常用几种人脸对齐算法ASM/AAM/CLM/SDM

常用几种人脸对齐算法ASM/AAM/CLM/SDM 常用几种人脸对齐算法ASM/AAM/CLM/SDM 转载&#xff1a;http://blog.csdn.net/huneng1991/article/details/51901912 SDM原理 转载&#xff1a;http://blog.csdn.net/linolzhang/article/details/55271815 人脸对齐算法 一、ASM算法 ASM(A…

人脸识别篇---人脸对齐

人脸对齐 安装环境dlib 脚本实现运行代码实现效果运行问题 安装环境 dlib windows10安装dlib 在anaconda3下激活相应的环境 conda install -c conda-forge dlib参考 脚本实现 from imutils.face_utils import FaceAligner from imutils.face_utils import rect_to_bb impo…

人脸对齐算法常用评价标准总结

转载请注明作者和出处&#xff1a; http://blog.csdn.net/john_bh/ 文章目录 1. I O N 和 I P N ION和IPN ION和IPN2. M N E MNE MNE (the mean normalized error)3 A U C a AUCa AUCa(the area-under-the-curve)4. C E D CED CED (the Cumulative Errors Distribution curve)…

python练习3 人脸对齐以及dir、inspect的用法

一、人脸对齐 训练好的模型库文件&#xff08;替换你的模型文件位置&#xff09; import cv2 import dlib import matplotlib.pyplot as pltpath"D:\python\Lib\site-packages\cv2\photo.jpg" imgcv2.imread(path) graycv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#人脸分…

人脸识别中常用的人脸检测和人脸对齐

人脸检测和人脸对齐是人脸识别的前提&#xff0c;也是进行一切人人脸相关的人脸项目的开始步骤&#xff0c;本文将从常用的人脸检测的数据集&#xff0c;以及现在公用的比较好的方法开始讲述。 人脸检测常用的数据集 人脸检测的测试数据库有很多&#xff0c;这里仅选择FDDB和…