数据库 关系连接

所属分类: 数据库 / 数据库其它 阅读数: 125
收藏 0 赞 0 分享
连接分类
关系间的连接分为内连接(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
更多精彩内容其他人还在看

Select data from an Excel sheet in MSSQL

Select data from an Excel sheet in MSSQL
收藏 0 赞 0 分享

一个多表查询的SQL语句

一个多表查询的SQL语句
收藏 0 赞 0 分享

一个查询的SQL语句请教,希望能够用一条SQL语句得到结果

一个查询的SQL语句请教,希望能够用一条SQL语句得到结果
收藏 0 赞 0 分享

交叉表查询sql语句

交叉表查询sql语句
收藏 0 赞 0 分享

ms SQL server数据库备份、压缩与SQL数据库数据处理的方法

ms SQL server数据库备份、压缩与SQL数据库数据处理的方法
收藏 0 赞 0 分享

DBCC SHRINKDATABASEMS SQL数据库日志压缩方法

DBCC SHRINKDATABASEMS SQL数据库日志压缩方法
收藏 0 赞 0 分享

SQLSERVER 高级复 制 排错 技巧

SQLSERVER 高级复 制 排错 技巧
收藏 0 赞 0 分享

SQL中代替Like语句的另一种写法

SQL中代替Like语句的另一种写法
收藏 0 赞 0 分享

Sql Server下数据库链接的使用方法

Sql Server下数据库链接的使用方法
收藏 0 赞 0 分享

如何取得一个表的所有字段名用逗号分割

如何取得一个表的所有字段名用逗号分割
收藏 0 赞 0 分享
查看更多