关联查询:所需要的数据来源于多张表,通过表的连接查询(关联查询)来查询多张表中的数据
格式:
select 别名1 . */列名 , 别名2 . */列名
from 表名1 别名1 , 表名2 别名2
where 关联条件
现有两个表,如下图:
user表: dept表:
笛卡尔积:
进行关联查询的时候,没有加入关联条件,两张表之间的数据会进行任意组合的现象,就是笛卡尔积(数 学中的一个概念)。在表的关联查询中,尽量避免出现笛卡 尔积,必须要加入关联条件,用来去掉笛卡尔积。
下面就是出现笛卡尔积的情况,如下图(太多了截图没截全):
关联条件:用来描述两张表之间的关联关系,比如user表和dept表,user表中员工所在的部门的编号(deptno) 跟dept表中部门的编号(id)对应。
等值连接:关联条件是通过=连接起来,称为等值连接
user和dept之间的关联关系:u.deptno=d.id
如下图,加上关联条件后就不会出现笛卡尔积:
有其他条件的关联查询,如下图;