关联关系、关联查询(等值连接、内连接、外连接)

关联关系

  • 创建表时, 表和表之间存在的业务关系

  • 有哪几种关系?

    • 一对一: 有AB两张表,A表中的一条数据对应B表中的一条数据, 同时B表中的一条数据也对应A表中的一条.

    • 一对多:有AB两张表,A表中的一条数据对应B表中的多条数据, 同时B表中的一条数据对应A表中的一条.

    • 多对多:有AB两张表,A表中的一条数据对应B表中的多条数据, 同时B表中的一条数据也对应A表中的多条.

  • 表和表之间如何建立关系?

    • 通过一个单独的字段指向另外一张表的主键

    • 一对一的关系: 有AB两张表,在任意一张表中添加字段指向另外一个表的主键

    • 一对多的关系: 有AB两张表,在一对多的关系中,多的一端添加一个单独字段指向另外一张表的主键

    • 多对多的关系: 有AB两张表 还需要创建一个单独的关系表,里面两个字段分别指向另外两张表的主键

 

关联查询:同时查询多张表数据的查询方式。包括:

  • 等值连接

  • 内连接

  • 外连接

     

等值连接:求两张表数据的交集信息

格式:select 字段信息 from 表1 别名1,表2 别名2 where 连接条件(关联关系) and 其他条件(没有时可省略and之后的内容);

注意:重复的字段信息要用别名.加以区分。

 

内连接:求两张表数据的交集信息(推荐)

格式:select 字段信息 from 表1 别名1 join 表2 别名2 on 连接条件(关联关系) where 其他条件(没有可省略where之后的内容);

注意:重复的字段信息要用别名.加以区分。

总结:等值连接和内连接查询到的数据是一样的,都是两个表的交集数据,只是书写格式不一样,推荐使用内连接。

 

外连接:如果查询的是一张表的全部和另外一张表的交集,使用外连接。

格式:select 字段信息 from 表1 别名1 left/right join 表2 别名2 on 连接条件(关联关系) where 其它条件(没有可省略where);

注意:

  1. 重复的字段信息要用别名.加以区分;

  1. left/right分别侧重于查询左/右表的全部信息与另一个表的交集信息,没有时用null作为结果。

上一篇:数据结构-课程笔记(5)


下一篇:每日一小题——快速幂