数据库中左连接、右连接、内连接与外连接的区别

  • 下面介绍各种连接的特点
    • 1.等值连接(相等连接)
    • 2.内连接(inner join)
    • 3.外连接
      • 左连接(left join)
      • 右连接(right join)
    • 总结:

  在使用数据库是常常用到连接,我就对各种连接的区别做一个总结。

  首先在我们常用的sql语句中使用与连接相关的无非是select语句中的where连接条件,表示这些条件的谓词就是:

  • <、<=、=、>、>=、!=、<>、!< 和 !>

下面介绍各种连接的特点

1.等值连接(相等连接)

多表中直接使用 “=” 来进行查询相等的所有列,包括其中重复的列。

Select student.*,  class.*
from student,class
where student.userId = class.userId;-- 通过学生id把学生所有的个人信息和班级信息表所对应的所有东西都查出来

2.内连接(inner join)

  指定了INNER关键字的连接是内连接,内连接按照ON所指定的连接条件合并两个表,返回满足条件的行。内连接是系统默认的,可以省略INNER关键字。使用内连接后仍可使用WHERE子句指定条件。

例1

select *
from student inner join class
on student.userId = class.userId;

例2

select student.name, class.score
from student join class
on student.userId = class.userId
where class.score >= 60;

3.外连接

左连接(left join)

左连接:只要左边表中有记录,数据就能检索出来,而右边有的记录必要在左边表中有的记录才能被检索出来。

select *
from student left join class
on student.userId = class.userId;

右连接(right join)

右连接:右连接是只要右边表中有记录,数据就能检索出来。

select *
from student right join class
on student.userId = class.userId;

总结:

内连接:A INNER JOIN B ,在A中也有,在B中也有的数据才能查询出来。

左连接:是已左边表中的数据为基准,若左表有数据右表没有数据,则显示左表中的数据右表中的数据显示为空。

右联接:是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值

数据库中左连接、右连接、内连接与外连接的区别和作用相关推荐

  1. oracle full outer join,oracle 内连接(inner join)、外连接(outer join)、全连接(full join)...

    建表语句: create table EMPLOYEE ( EID NUMBER, DEPTID NUMBER, ENAME VARCHAR2(200) ) create table DEPT ( D ...

  2. T-SQL学习中--内联接,外连接,交叉连接

    交叉连接可以表A和表B是同一张表取得笛卡尔乘积. 比如说下面这种写法: SQLSELECT D.n AS theday, S.n AS shiftno FROM dbo.Nums AS Dcross ...

  3. 内网和外网的区别 连接不同设备上网

    原来一直很疑惑,关于内网和外网的区别,看了好多博客,也没解决疑惑,但是看了书的定义,感觉豁然开朗.区别如下: 若计算机直接连接Modern并实现拨号上网时,利用百度查询到的ip地址是当前计算机在Int ...

  4. 内网和外网的区别+tcp协议ip协议详解

    内网概念 即所说的局域网,比如学校的局域网,局域网内每台计算机的IP地址在本局域网内具有互异性,是不可重复的.但两个局域网内的内网IP可以有相同的. (连上WIFI,手机IP一般能在「设置」-「关于手 ...

  5. 前端开发需要知道内网和外网的区别

    内网和外网的区别 内网(局域网) VS 外网(互联网/公网) 注意点 内网概念 外网概念 内外网联系及区别 推荐阅读 Vue源码学习目录 连点成线 - 前端成长之路 你越是认真生活,你的生活就会越美好 ...

  6. sql中什么时候用内连接查询,什么时候用外连接查询

    需要查找两张表同时存在的数据,使用内连接 需要查找两张表中一张表存在,另一张表不存在的时候使用左外链接 或 右外链接 内连接的查询结果都是满足连接条件的元组.但有时我们也希望输出那些不满足连接条件的元 ...

  7. 内链接与外连接的区别

    两个表的连接,是通过将一个表中的一列或者多列同另一个表中的列链接而建立起来的.用来连接两张表的表达式组成了连接条件.当连接成功后,第二张表中的数据就同第一张表连接起来了,并形成了复合结果集--包括两张 ...

  8. 数据库学习之MySQL (十六)—— SQL99 外连接 左外连接 右外连接 全外连接 交叉连接

    文章目录 外连接 之 左外连接 与 右外连接 为啥要用外连接 全外连接 总结 内连接 外连接 交叉连接 外连接 之 左外连接 与 右外连接 我们先来看个之前的 女神男朋友的案例 传送:数据库学习之My ...

  9. 球幕投影中内投球和外投球的区别

    随着互动投影技术在各类展厅中的普及,人们经常会看到有一种球形的互动投影表现形式.在听讲解员介绍时,有的展厅内别人会介绍这个是内投球,还有的展厅内有时会介绍是外投球.究竟内投球和外投球的区别是什么呢,左 ...

  10. c语言外循环和内循环区别是什么意思,内循环和外循环的区别 内循环和外循环的正确使用方法...

    过完五一,天气要慢慢热起来了,汽车空调使用的季节又要来了,但是很多车主对汽车空调的内外循环使用还是有点傻傻分不清,今天汽车维修网小编就和大家简单的说一下内循环和外循环的 内循环和外循环标志 内循环和外 ...

最新文章

  1. LeetCode 804 Unique Morse Code Words--python,java解法
  2. java字节码常量池_java字节码常量池处理说明
  3. verilog读写文件(整理)
  4. Qt实现延时sleep函数功能
  5. 被黑客盯上了…数据都给打包带走了…
  6. javafx 剪切板_JavaFX技巧18:路径剪切
  7. httpd2.2配置文件详解
  8. oracle 39170,39170-1134
  9. 你身边有没有白天上班,晚上打零工送外卖、跑滴滴、做代驾的朋友?你怎么看?
  10. Nginx日志配置及分割
  11. 让Apache日志不记录图片等指定扩展名文件的设置方法
  12. 采用状态空间法求解八数码问题
  13. 处理24人!又一批科研不端案例被通报批评
  14. 零基础,两个月复习备考软考中级经验分享
  15. python 根据身份证号计算年龄和性别_根据身份证自动计算出生日期、年龄、性别的例子...
  16. R 语言的表格合并(实际运用)
  17. 深度学习之学习(1-2)感受野(receptive field)
  18. 单片机c语言交通灯源程序,基于80C51单片机的交通灯C语言源程序
  19. SAXReader 读文件读不出来
  20. 基于matlab的逻辑回归示例

热门文章

  1. ios不能保存png_花瓣网上面的图不能下载?教你怎样快速批量提取花瓣网图片
  2. python微信机器人
  3. 通达信、东方财富神奇九转指标计算公式,代码实现
  4. VBA 学习笔记 Word样式处理
  5. 3.3 神策数据分析平台
  6. jeesite应用实战(数据增删改查),认真读完后10分钟就能开发一个模块
  7. 敏捷需求描述:用户故事
  8. 窗体全部透明,控件不透明
  9. 【FastDFS】FastDFS在CentOS的搭建
  10. 2020mysql下载教程