zoukankan      html  css  js  c++  java
  • oracle高级查询之多表查询

    1.多表查询的基础笛卡尔集

    多张表查询产生的表的列数等于所有表的列数之和,行数等于多张表之积

    2.多表查询分等值连接,不等值连接,外连接,自连接

    等值连接

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

    不等值连接

    select e.empno,e.ename e.sal from emp e,dept d where e.sal between s.hisal and s.losal

    其中BETWEEN   --AND--之间必须是前小后大

    外连接

    外连接的本质是通过外连接,把对于连接条件不成立的记录,仍然包含在最后的结果集中,分为左外连接和右外连接

    自连接

    自连接核心是通过别名,将同一张表视为多张表

    3.层次查询

    因为自连接是把一张表视为多张表,会产生笛卡尔集,至少会产生n倍的数据,不适合操作大数据,其本质是多表连接。

    层次查询的本质是单表查询,

    from emp

    connect by prior empno=mgr

    start with empno=121(

    connect by子节点=父节点)

    prior靠近子节点,就往子节点方向遍历,靠近父节点,就往父节点方向遍历

  • 相关阅读:
    使用GitLab搭建Git仓库
    SpringBoot web开发
    springboot配置
    springboot自动配置原理
    springboot修改端口号
    springboot创建方式
    junit运行多个测试的方法
    junit常用注解
    junit断言
    sublime将.m文件关联MATLAB类型高亮
  • 原文地址:https://www.cnblogs.com/libaowen609/p/12819701.html
Copyright © 2011-2022 走看看