数据库 关系连接

 更新时间:2009年09月09日 09:18:25   作者:  
数据库 关系连接,多表查询时需要用到的一些东西。
连接分类
关系间的连接分为内连接(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

相关文章

  • 2023年最新Navicat永久激活安装使用教程

    2023年最新Navicat永久激活安装使用教程

    Navicat中文版是强大的可视化数据库管理工具,用于开发和管理MySQL|SQL Server|SQLite|Oracle等数据库,Navicat以直觉化的图形用户界面符合数据库管理员、开发人员及中小企业的需要,本文给大家分享2023年最新Navicat永久激活安装使用教程,感兴趣的朋友一起看看吧
    2023-05-05
  • 取随机记录的语句

    取随机记录的语句

    取随机记录的语句...
    2007-03-03
  • navicat怎么卸载,navicat彻底卸载干净教程

    navicat怎么卸载,navicat彻底卸载干净教程

    这篇文章主要介绍了navicat怎么卸载?navicat彻底卸载干净教程。具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 数据库运维人员DBA工作总结

    数据库运维人员DBA工作总结

    中大型公司都会有一些专攻数据库方面的牛人,专门的职位叫做DBA,对于公司的DBA他们的价值不可小觑,只要是数据库,就有吞吐量的限制,数据库访问瓶颈便是自然流量增长或者流量突增造成的
    2023-10-10
  • 详解 MapperScannerConfigurer之sqlSessionFactory注入方式

    详解 MapperScannerConfigurer之sqlSessionFactory注入方式

    这篇文章主要介绍了详解 MapperScannerConfigurer之sqlSessionFactory注入方式的相关资料,需要的朋友可以参考下
    2017-04-04
  • 数据分析数据库ClickHouse在大数据领域应用实践

    数据分析数据库ClickHouse在大数据领域应用实践

    这篇文章主要为大家介绍了数据分析数据库ClickHouse在大数据领域应用实践,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • SQL中一些小巧但常用的关键字小结

    SQL中一些小巧但常用的关键字小结

    这篇文章主要给大家总结介绍了关于SQL中一些小巧但常用的关键字,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • 如何让SQL运行得更快

    如何让SQL运行得更快

    如何让SQL运行得更快...
    2007-01-01
  • hive数据仓库新增字段方法

    hive数据仓库新增字段方法

    这篇文章主要为大家介绍了hive中新增字段的方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • SQL注入篇学习之盲注/宽字节注入

    SQL注入篇学习之盲注/宽字节注入

    盲注是注入的一种,指的是在不知道数据库返回值的情况下对数据中的内容进行猜测,实施SQL注入,下面这篇文章主要给大家介绍了关于SQL注入篇之盲注/宽字节注入的相关资料,需要的朋友可以参考下
    2022-03-03

最新评论