关联关系
-
创建表时, 表和表之间存在的业务关系
-
有哪几种关系?
-
一对一: 有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);
注意:
-
重复的字段信息要用别名.加以区分;
-
left/right分别侧重于查询左/右表的全部信息与另一个表的交集信息,没有时用null作为结果。