1、如我们将员工信息放到了多张表中,当我们需要查看员工的所有数据的时候,我们就需要联合多张表来进行查询。
2、如我们需要查询每个员工的名字以及所在部门的名字的时候,我们的查询代码如下图所示:
3、如我们需要查看在new york工作的员工,那么我们需要联合下图所示两张表,查询:
4、查看工资高于3000的员工,名字,工资,部门名,所在地
5、查看工资高于3000的员工,姓名,工资,部门名,所在地联合了EMP表与Dept表,EMP表主要保存的是员工的基本信息,而Dept主要保存的是部门信息。
6、关联查询的具体语法可以写成:select*from A,B where A.某字段=B.某字段。
7、除了上图所莲镘拎扇示的写法外,使用比较多的是这一种写法,因为这种写法可以简化where子句的复杂度,具体语法为:select*from A join B on A.某字段=B.某字段;
8、上图所示的写简写,完整的语法为:select*from A [inner] join B on A.某字段=B.某字段;
9、不满足连接条件的记录是不会在关联查询中被查询出来的。 只有满足所有条件,才会被查询到并被输出。
10、-当多表关联时,如果没有写关联条件,返回的结果集是这几张表条目数的乘积,这个乘积,就叫做笛卡珀墩猥樨尔积。如果您不小心使用了没有意义的笛卡尔积,可能会拖垮您的数据库服务器。
11、-多数情况下,笛卡尔积是无意义的,非常耗费资源,要尽量避免。这里指的没有意义,也并不是什么情况下都成立的,有时候,笛卡尔积是有有意义的。