连接分类
关系间的连接分为内连接(inner join)和外连接(outer join)。
外连接又可分为:left outer join,right outer join和full outer join。
内连接计算方法:
如果不加条件将会产生笛卡尔积;
如果有连接条件,按照下一节"连接条件"的规则进行运算,符合条件的元组放入结果关系中。
left outer join 计算过程:
1)计算相同连接条件下的内连接,将符合条件的元组放入结果关系中;
2)如果左关系中有元组不符合条件,将之放入结果关系中,余下的用NULL补足
right outer join 计算过程:
1)计算相同连接条件下的内连接,将符合条件的元组放入结果关系中;
2)如果右关系中有元组不符合条件,将之放入结果关系中,余下的用NULL补足
full outer join
1)计算相同连接条件下的内连接,将符合条件的元组放入结果关系中;
2)如果左、右关系中有元组不符合条件,将之放入结果关系中,余下的用NULL补足
as用来修改连接后结果关系的关系名称以及属性名称。
连接条件
关系之间的连接是可以有条件的,外连接必须要加条件,内连接如果不加条件将会产生笛卡尔积。
有哪些连接条件呢?
natural --
1)两个关系(左关系和友关系)中所有具有相同的名称的属性的值要相等。
2)natural 总是出现在 join语句前面
3)natural的结果关系中,相同名称的属性只会出现一次
4)natural的结果关系中,属性的排列顺序总是按照左关系优先的原则。
5) MySQL中,natural join不能使用on指定其他查询条件
on--
1)on 用在join语句后面
2)on 后面采用关系1.属性a=关系2.属性b 的谓词语法
using--
1)和natural类似,只是显式指定了属性名称
2)如果using也指定了所有相同名称的属性,那么和natural相同
MySQL
MySQL中,natural join和 left outer join不能在同时使用,可以先将natural join语句做成一个view,然后再使用left outer join
join 默认为inner join
数据库 关系连接
2021-10-11 16:20数据库技术网 数据库技术
数据库 关系连接,多表查询时需要用到的一些东西。
延伸 · 阅读
- 2022-06-24实战搭建MySQL高可用架构(手残党表示都会了!)
- 2022-06-24Python连接数据库并批量插入包含日期记录的操作
- 2022-06-07MongoDB创建与删除数据库
- 2022-06-06NoSQL优缺点与mongoDB数据库简介
- 2022-04-29手残又删库了,binlog救了我的命……
- 2022-04-28今年一季度暴露的数据库数量创新高,Redis排第一
- 数据库技术
SQL中过滤条件放on和where中的区别详解
这篇文章主要给大家介绍了关于SQL中过滤条件放on和where中的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需...
- 数据库技术
SQL UPDATE 更新语句用法(单列与多列)
更新操作是数据库中最常用的操作之一,下面将为您介绍update语句的三种使用方法,供您参考,希望对您有所帮助...
- 数据库技术
Mybatis分页插件的实例详解
这篇文章主要介绍了Mybatis分页插件的实例详解的相关资料,需要的朋友可以参考下...
- 数据库技术
带参数的sql和不带参数的sql存储过程区别
来执行我们sql语句,看到很多分页存储过程都是直接拼凑sql语句然后用exec('')执行起来了,这个从效率和安全上面来说,都是不推荐的。...
- 数据库技术
伴鱼基于 Flink 构建数据集成平台的设计与实现
数据仓库有四个基本的特征:面向主题的、集成的、相对稳定的、反映历史变化的。其中数据集成是数据仓库构建的首要前提,指将多个分散的、异构的数...
- 数据库技术
PowerDesigner 12.5汉化特别版安装图文教程
PowerDesigner 12.5是这个数据库建模工具的经典版本,很多童鞋喜欢使用这个版本了。当然如果您喜欢高版本,也是可以的,本文就PowerDesigner 12.5安装破解进行...
- 数据库技术
数据库中的左连接(left join)和右连接(right join)区别
关于左连接和右连接总结性的一句话,左连接 where只影向右表,右连接where只影响左表...
- 数据库技术
谈谈数据库的字段设计的几个心得
今天小编就为大家分享一篇关于谈谈数据库的字段设计的几个心得,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随...