关联查询
-
概念:从多张表中查询对应的记录信息,关联查询的重点在于这些表中的记录的对应关系,这个关系也被称为连接条件
-
当两张表有同名字段时,SELECT子句中必须明确指定该字段来自于哪张表,在关联查询中,表名也可以添加别名,这样可以简化SELECT语句的复杂度
-
关联查询要添加连接条件,否则会产生笛卡尔积
- 笛卡尔集通常是一个无意义的结果集,它的记录是所有参与查询的表的记录数乘积的结果,要避免出现,数据量大时极易出现内存溢出等现象
-
N张表关联查询要有至少N-1个连接条件
-
不满足连接条件的记录是不会在关联查询中被查询出来的,但是普通关联查询和内连接查询可以通过“(+)”来改变这种情况,外界连接查询没有这种问题
关联查询:内连接
-
返回所有满足连接条件的记录
-
语法:JOIN 表名 ON 连接条件
-
如:SELECT e.ename,d.dname FROM emp e JOIN dept d ON(e.deptno=d.deptno)
-
JION ON是一起使用的,如需关联查询2张以上的表,那么需要多个JION ON子句
-
如:SELECT e.ename,d.dname FROM emp e JOIN dept d ON(e.deptno=d.deptno) JOIN job j ON(d.job=j.job)