17关联

一、什么是关联关系

1.在创建表的时候,表与表之间存在业务关系(个人认为:表与表之间存在相同的数据并重复)

2.存在几种关系

  一对一:当存在AB两张表,A表中一条数据对应B表中的一条数据,同时B表中的一条数据也对应A表中的一条数据;

  一对多:当存在AB两张表,A表中一条数据对应B表中的多条数据,同时B表中的一条数据也对应A表中的一条数据;

  多对多:当存在AB两张表,A表中一条数据对应B表中的多条数据,同时B表中的一条数据也对应A表中的多条数据;

3.表与表之间如何建立关系

  通过一个单独的字段指向另外一张表(或自己表的主键),这个字段称之为外键。

二、关联查询

  1.同时查询多张存在关联关系的表时,使用的查询方式称为关联查询

  2.关联查询的查询方式有三种:a.等值连接,b.内连接,c.外连接

三、关联查询之等值连接

  1.格式:select * from A,B where A.x=B.x  (关联关系) ;

  2.举例:查询每个员工的姓名和对应的部门名

      select ename,dname from emp e,dept d where e.deptno=d.deptno;

四、关联查询之内连接

  1.什么是内连接:等值连接和内连接的作用是一样的, 查询到的是两个表的交集数据

  2.格式:select * from A join B on A.x=B.x(关联关系

  3.举例:查询每个员工的姓名和对应的部门名

      select ename,dname from emp e join dept d on e.deptno=d.deptno;

五、关联查询之外连接

  1.什么是外连接:查询的是一张表的全部和另外一张表的交集

  2.格式:格式: select * from A left/right join B on A.x=B.x(关联关系)

  3.举例:准备一个员工表中的交集以外的数据

      insert into emp (empno,ename) values(100,‘XXX’);

六、关联查询总结

  1.如果查询的数据是两个表的交集数据使用等值连接或内连接(推荐)

  2.如果查询的是一张表的全部数据和另外一张表的交集数据则使用外连接

posted @ 2020-11-15 15:29  print("hello~world")  阅读(92)  评论(0)    收藏  举报