Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >SQL中的内连接与外连接--Java学习网

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

作者头像
用户1289394
发布于 2021-05-31 08:12:45
发布于 2021-05-31 08:12:45
1.5K0
举报
文章被收录于专栏:Java学习网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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL中的内连接与外连接详解:基础与进阶应用
内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。
用户11286421
2025/03/28
1370
MySQL中的内连接与外连接详解:基础与进阶应用
mysql,SQL标准,多表查询中内连接,外连接,自然连接等详解之查询结果集的笛卡尔积的演化
a,系统首先执行from子句,这里from子句列出有两个表teacher表和course表,DBMS讲计算这两个表的笛卡尔积,列出这两个表中行的所以可能组合,形成一个中间表。中间表中的每条记录包含了两个表中的所有行。
intsmaze-刘洋
2018/08/29
2.6K0
mysql,SQL标准,多表查询中内连接,外连接,自然连接等详解之查询结果集的笛卡尔积的演化
笛卡尔积、等值连接、自然连接、外连接一文看懂
0x01、笛卡尔积笛卡尔积的元素是元组,关系A和B的笛卡尔积可以记为(AXB),如果A为a目,B为b目,那么A和B的笛卡尔积为(a+b)列的元组集合。(1)学生表和分数表中的信息:学生表: 分数表(大概就是这个样子):(2)学生表和分数表执行笛卡尔积后:
BUG弄潮儿
2020/09/04
3.4K0
SQL的各种连接(cross join、inner join、full join)的用法理解
如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积;
全栈程序员站长
2022/07/07
2K0
SQL六大连接解析:内连接、外连接、全连接、交叉连接、自连接、自然连接
内连接:也称为等值连接,返回两张表都满足条件的部分。inner join 就等于 join
鳄鱼儿
2024/05/21
1.2K0
SQL六大连接解析:内连接、外连接、全连接、交叉连接、自连接、自然连接
连接查询和子查询哪个效率高
通过子查询不难看出,可以根据employee_id查到department_id,然后根据deparment_id查到location_id然后查city字段就行了
全栈程序员站长
2022/09/03
4.7K0
连接查询和子查询哪个效率高
【数据库设计和SQL基础语法】--连接与联接--内连接和外连接的概念
SQL连接是一种在关系型数据库中使用的操作,用于将两个或多个表中的行关联起来。连接允许在查询中同时检索来自多个表的数据,通过共享一个或多个共同的列(通常是主键或外键)来建立关系。连接操作是SQL查询的重要组成部分,它有助于从不同表中获取相关联的信息。 基本概念包括:
喵叔
2023/12/19
9240
【重学 MySQL】二十六、内连接和外连接
在MySQL中,内连接和外连接是两种常见的表连接方式,它们在处理多个表之间的关系时发挥着重要作用。
用户11332765
2024/10/28
1580
【重学 MySQL】二十六、内连接和外连接
内连接、左外连接与右外连接的区别及作用介绍
SQL语句当中比较难的部分就有今天要给朋友们分享的这个,inner join, left join 和 right join他们三个的作用以及区别是什么。
全栈程序员站长
2022/11/03
2K0
SQL连接查询(最全面)
连接查询是关系数据库中最主要的查询,主要包括内连接、外连接和交叉连接等。通过连接运算符可以实现多个表查询。 在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。 连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,然后通过连接进行查询。 内连接 等值连接 不等连接 自然连接 外连接 左连接 右连接 全连接 内连接     内连接是一种
Steve Wang
2018/02/05
5K0
Oracle学习笔记_04_多表查询
                                    (1)内连接           vs          外连接 (左、右、满)
shirayner
2018/08/10
4470
mysql数据库——连接查询(内连接:自然连接,等值连接。外连接:左连接,右连接,全连接)「建议收藏」
由上面两个结果可以看出,等值连接就是从两个表数据的交集中取指定值相等的数据。而自然连接就是取两个表中相同属性,并且值相等的数据,而且消除了相同属性列。
全栈程序员站长
2022/06/27
5.8K0
mysql数据库——连接查询(内连接:自然连接,等值连接。外连接:左连接,右连接,全连接)「建议收藏」
面试题:Sql中的连接
当你在处理数据库时,经常会遇到需要合并两个或多个表的情况。这时,连接操作(Join)就派上了用场。连接操作允许我们根据表之间的关联关系将数据进行联合,从而提供更丰富的查询结果。在SQL中,有几种不同类型的连接可供选择,包括内连接、外连接和交叉连接。让我们一起来详细了解每种连接的含义和用法。
GeekLiHua
2025/01/21
1050
SQL基础-->多表查询
但要注意where 不要省了,省略where 即为笛卡尔集,而且where 条件要有效,
Leshami
2018/08/07
1.2K0
数据库——自然连接、内连接、外连接(左外连接、右外连接、全外连接)、交叉连接「建议收藏」
2. 内连接(inner join) 和自然连接区别之处在于内连接可以自定义两张表的不同列字段。 内连接有两种形式:显式和隐式。 例:以下语句执行结果相同。
全栈程序员站长
2022/09/27
11.8K0
数据库——自然连接、内连接、外连接(左外连接、右外连接、全外连接)、交叉连接「建议收藏」
MySQL基础-多表查询
说明:上述多表查询中出现的问题称为:笛卡尔积的错误,结果是将每个员工分配了所有的部门所产生的
用户9645905
2023/03/24
2.8K0
MySQL基础-多表查询
什么是内连接、外连接?MySQL支持哪些外连接?_oracle内连接和外连接的区别
图片与最后一部分来自:https://blog.csdn.net/plg17/article/details/78758593
全栈程序员站长
2022/09/27
9760
什么是内连接、外连接?MySQL支持哪些外连接?_oracle内连接和外连接的区别
sql server 连接查询_连表查询语句
连接查询包括合并、内连接、外连接和交叉连接,如果涉及多表查询,了解这些连接的特点很重要。
全栈程序员站长
2022/10/05
3.5K0
MySQL数据库,从入门到精通:第六篇——全面掌握MySQL多表查询技巧
MySQL数据库,从入门到精通:第一篇——MySQL概念详解 MySQL数据库,从入门到精通:第二篇——MySQL关系型数据库与非关系型数据库的比较 MySQL数据库,从入门到精通:第三篇——MySQL 数据库规范和基础查询语句 MySQL数据库,从入门到精通:第四篇——MySQL中常用的运算符及其用法 MySQL数据库,从入门到精通:第五篇——MySQL排序和分页 MySQL数据库,从入门到精通:第六篇——全面掌握MySQL多表查询技巧 MySQL数据库,从入门到精通:第七篇——MySQL单行函数应用 MySQL数据库,从入门到精通:第八篇——MySQL聚合函数实战探究:优化SELECT过程助力高效查询 MySQL数据库,从入门到精通:第九篇——MySQL子查询 MySQL数据库,从入门到精通:第十篇——MySQL表创建和管理指南 MySQL数据库,从入门到精通:第十一篇——MySQL数据处理之增删改指南 MySQL数据库,从入门到精通:第十二篇——MySQL数据类型详解 MySQL数据库,从入门到精通:第十三篇——MySQL数据表约束详解 MySQL数据库,从入门到精通:第十四篇——MySQL视图详解 MySQL数据库,从入门到精通:第十五篇——MySQL存储过程和函数详解 MySQL数据库,从入门到精通:第十六篇——MySQL变量、流程控制和游标详解 MySQL数据库,从入门到精通:第十七篇——MySQL 触发器的使用方法及注意事项 MySQL数据库,从入门到精通:第十八篇——MySQL 8新特性全解析
默 语
2024/11/20
1850
MySQL数据库,从入门到精通:第六篇——全面掌握MySQL多表查询技巧
第06章_多表查询
前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠 “部门编号” 进行关联。
程序员Leo
2023/08/07
2430
第06章_多表查询
推荐阅读
相关推荐
MySQL中的内连接与外连接详解:基础与进阶应用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档