文章目录

  • 一、定义
    • 1、内联接
    • 2、外联接
    • 3、交叉联接
  • 二、示例

一、定义

1、内联接

典型的联接运算,使用像 = 或 <> 之类的比较运算符。包括相等联接和自然联接。 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students 和 courses 表中学生标识号相同的所有行。

2、外联接

外联接可以是左向外联接、右向外联接或完整外部联接。 在 FROM 子句中指定外联接时,可以由下列几组关键字中的一组指定:

  • 1)LEFT JOIN 或 LEFT OUTER JOIN 左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。

  • 2)RIGHT JOIN 或 RIGHT OUTER JOIN 右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。

  • 3)FULL JOIN 或 FULL OUTER JOIN 完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。

3、交叉联接

交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。 FROM 子句中的表或视图可通过内联接或完整外部联接按任意顺序指定;但是,用左或右向外联接指定表或视图时,表或视图的顺序很重要。有关使用左或右向外联接排列表的更多信息,请参见使用外联接。

二、示例

建立一个 student 和 clazz 表

clazz

id    name

1       一班

2       二班

3        三班

student

id     name      clazz_id

1       小明            2

2       小红            3

3        小张

内连接查询:select* from student inner join clazz on clazz.id=student.clazz_id;

查询结果,两个表相同条件的的部分显示出来。

左连接查询:select* from student left  outer  join clazz

on clazz.id=student.clazz_id;

student 表中内容全部显示,clazz 表显示符合的条件,clazz 中没有的地方显示为 null。

查询结果

右连接查询:select* from student right outer  join clazz

on clazz.id=student.clazz_id;

clazz 表中内容全部显示,student 表显示符合的条件,student 中没有的地方显示为 null。

查询结果

彻底搞懂数据库内连接、外连接相关推荐

  1. MySQL--基础知识点--64--等值连接/自连接/自然连接/外连接

    该篇文章基于以下三个表进行解析 student表 DROP TABLE IFEXISTS `student`;CREATE TABLE student (`sid` INT NOT NULL AUTO ...

  2. MySQL 表的增删改查(进阶篇②)· 联合查询 内连接 外连接 · 自连接 · 子查询 exists · 合并查询 union

    接进阶篇①,我们继续学习. 一.联合查询 1.1 内连接 1.2 外连接 1.3 内连接和左右外连接的区别 二.自连接 三.子查询 3.1 单行子查询 3.2 多行子查询 使用 in 范围匹配多行 另 ...

  3. SQL语法 自然连接 外连接 内连接

    文章目录 笛卡尔积 连接 内连接 自连接 自然连接 外连接 左外连接 右外连接 区分连接 自然连接 内连接 内连接.外连接 on 和 where 条件过滤的区别 参考链接 笛卡尔积 结果集数目为多个表 ...

  4. 数据库内、外、左、右连接详解

    写在前面: 数据库连接操作非常重要,明确连接操作有助于更好地掌握SQL语句查询操作. 数据库连表方式: 内连接 :inner join 外连接 :outer join 左外连接 :left outer ...

  5. Oracle 表连接方式(内连接/外连接/自连接) 详解

    Oracle 表之间的连接分为三种: 1. 内连接(自然连接) 2. 外连接 (1)左外连接 (左边的表不加限制)        (2)右外连接(右边的表不加限制)         (3)全外连接(左 ...

  6. mysql外连接_mysql学习-mysql内连接外连接

    SQL99标准,也称为SQL1999标准 分类:内连接,外连接 一.内连接 使用  inner join ...on 语法: select 列名1 别名1,列名2 别名2... from 表名1 别名 ...

  7. 内连接外连接全连接(简单实例)

    内连接查询 符合连接的条件的数据被选中,不符合条件的数据被滤去 sql练习所用文件 隐式内连接 使用where条件消除无用数据 SELECTemp.ename,emp.salary,dept.dnam ...

  8. SQL 内连接,外连接

    假设一堆男女在教堂,有夫妇有单身的,假设男为左表,女为右表 教父说:结了婚的人请出去,结了婚的人请手拉手,于是结了婚的男女站了起来,这就是INNER 内连 教父说:男的并且和这些男的结婚的女的请出去, ...

  9. HIVE 中 内连接 外连接 左外连接 右外连接 全外连接 联合操作

    hive的join操作,只支持等值连接 创建customers和orders表,一对多关系 创建customers表 create table customers(id int,name string ...

  10. java内连接外连接_SQL中的内连接与外连接--Java学习网

    核心提示:连接运算格式链接运算由两部分构成:连接类型和连接条件连接类型可分为:INNER JOIN 内连接LEFT OUTER JOIN 左外连接RIGHT OUTER JOIN 右外连接FULL O ...

最新文章

  1. IP协议号(TCP协议号/UDP协议号)
  2. mvn本地生成jar包放在mvn项目依赖(将jar包传到本地仓库)
  3. 如何写出正确的二分查找?——利用循环不变式理解二分查找及其变体的正确性以及构造方式...
  4. android 监听手机电量变化
  5. lisp ssget 浩辰_AutoCAD和浩辰CAD,gCAD都可以用的lisp
  6. Pyhton函数式编程简介(四)装饰器
  7. 苹果新隐私政策在iOS14.4测试版上线:能允许或拒绝“跟踪”
  8. 六年级计算机应用计划,六年级信息工作计划
  9. 异贝,通过移动互联网技术,为中小微实体企业联盟、线上链接、线上线下自定义营销方案推送。案例28
  10. 华为交换机防MAC地址漂移原理和实验
  11. 【软考】中级软件设计师的一些知识点笔记(22.2.10)
  12. 腾讯云服务器2003系统,腾讯云服务器windows2003系统续用的说明
  13. 获两个千亿IPO投资人王刚:要逼自己在质上进取,不是在量上贪婪
  14. 微信小程序进度条组件自定义数字_微信小程序小技巧系列《十三》多级联动,自定义圆形进度条 ... ......
  15. Leetcode 460. LFU 缓存
  16. Cloudflare到底是不是减速器 免费版cf是减速器吗(实际测试)
  17. 小米3g路由器编译libwebsockets
  18. 程序员成功之路 ——The road ahead for programmer(演讲稿)(转)
  19. 【Java数据结构】泛型详解+图文,通配符上界、下界
  20. 通信对抗干扰技术简单综述与MATLAB仿真

热门文章

  1. altium summer 9导入orcad dsn文件的方法
  2. C#微信开发---用户关注微信号后公众号发送欢迎关注
  3. 计算机视觉领域的一些牛人博客,超有实力的研究机构web主页(转)
  4. PassMark PerformanceTest v10.1.1004 电脑性能测试工具直装版
  5. 使用itext到处PDF,使用PDF模板导出PDF文件
  6. spire.pdf使用
  7. RabbitMQ——01安装
  8. antd-design库iconfont字体本地化
  9. Qt 给文本添加删除线 text-decoration
  10. 副高 职称计算机 上海,高级职称评定