专栏首页Java学习网SQL中的内连接与外连接--Java学习网

SQL中的内连接与外连接--Java学习网

连接运算格式

链接运算由两部分构成:连接类型和连接条件

连接类型可分为:

  • INNER JOIN 内连接
  • LEFT OUTER JOIN 左外连接
  • RIGHT OUTER JOIN 右外连接
  • FULL OUTER JOIN 全外连接

连接条件可分为

  • NATURAL 自然连接(去掉重复属性)
  • ON 连接条件(保留重复属性)
  • USING 属性名1,属性名2… (保留指定重复属性)

具体的组合有以下几种形式

注意:MYSQL没有全外连接

  • table1 INNER JOIN table2 ON 链接条件

SELECT * FROM teacher INNER JOIN course ON teacher.tn = course.tn

上面的SQL语句中做了等值内连接,我们看到tn属性是重复的

  • table1 INNER JOIN table2 USING (公共属性名)

SELECT * FROM teacher INNER JOIN course USING (tn)

以USING中的属性作为连接条件(属性值相等才连接),并去掉重复属性(tn)

  • table1 LEFT JOIN table2 ON 链接条件

SELECT * FROM teacher LEFT OUTER JOIN course ON teacher.tn = course.tn

左外连接会保留table1中的元组在结果集中不丢失,使用ON条件,不去掉重复元组

  • table1 LEFT JOIN table2 USING (tn)

SELECT * FROM teacher LEFT OUTER JOIN course USING (tn)

效果与上图一致,只是去掉重复属性(tn)

  • table1 RIGHT JOIN table2 USING (tn)

SELECT * FROM teacher RIGHT OUTER JOIN course USING (tn)

保留table2中的元组

  • table1 NATURAL LEFT/RIGHT OUTER JOIN table2

SELECT * FROM teacher NATURAL LEFT OUTER JOIN course

这个就是自然连接了,自然连接只能用在外连接当中,并且使用自然连接是两个表中的公共属性都需要进行等值判断

本文分享自微信公众号 - Java学习网(javalearns),作者:javalearns

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-05-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接

    转载自 http://www.jb51.net/article/39432.htm

    allsmallpig
  • Mysql中外连接,内连接,左连接,右连接的区别

    可能第一种通过where语句查询,大家都能理解. 但是不知道大家有没有去尝试过理解下面关于内连接与外连接查询方式的区别 ,接下来我们先通过一张图来演示一下连接...

    萌萌哒的瓤瓤
  • 你真的会玩SQL吗?和平大使 内连接、外连接

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接、外连接 你真的会玩SQL吗?三范式、数据完整性 你真...

    欢醉
  • mysql,SQL标准,多表查询中内连接,外连接,自然连接等详解之查询结果集的笛卡尔积的演化

    a,系统首先执行from子句,这里from子句列出有两个表teacher表和course表,DBMS讲计算这两个表的笛卡尔积,列出这两个表中行的所以可能组合,形...

    intsmaze-刘洋
  • 【62期】解释一下MySQL中内连接,外连接等的区别(MySQL面试第五弹)

    下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。

    良月柒
  • sql连接查询中on筛选与where筛选的区别

    sql查询这个东西, 要说它简单, 可以很简单, 通常情况下只需使用增删查改配合编程语言的逻辑表达能力,就能实现所有功能。 但是增删查改并不能代表sql语句的所...

    用户1608022
  • canvas学习总结五:线段的端点与连接点

    版权声明:本文为原创文章发布于公众号:Modeng , 你可以随意转载但请务必注明出处!!! https://blog.csdn.net/qq_32135...

    六小登登
  • 走进JavaWeb技术世界14:Mybatis入门

    本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看

    Java技术江湖
  • 走进JavaWeb技术世界14:Mybatis入门

    本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看

    Java技术江湖

扫码关注云+社区

领取腾讯云代金券