Oracle_day01 多表查询

笛卡儿积

是一种数学算法, 我们要做的多表查询就是从 笛卡儿积选出 正确的结果 

连接条件作用就是避免使用笛卡尔全集,链接条件至少有n-1个

链接类型 

    等值链接

Oracle_day01 多表查询

    不等值链接

Oracle_day01 多表查询

这里用了between and  小值在前,大值在后

    外连接

        左外链接 : 

 左外连接:当where e.deptno =d.deptno 不成立的时候,等号左边的表仍然被包含在最后的z结果中

写法 : where e.deptno=d.deptno(+)

Oracle_day01 多表查询

右外链接相反 

Oracle_day01 多表查询

     自链接

通过别名把一张表变成两张表

查询员工的姓名和对应的老板的姓名

Oracle_day01 多表查询

自链接不适合操作大量数据的表 (因为自链接的本质产生笛卡儿积,然后进行过滤, 如果数据多的化效率低)

层次查询 

Oracle_day01 多表查询



每种查询语句都不是万能的 ,在实际开发中选择不同的查询方式