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靠近子节点,就往子节点方向遍历,靠近父节点,就往父节点方向遍历

  • 相关阅读:
    winhex教程 转 武胜
    winhex 16.6 武胜
    深拷贝 武胜
    多线程更新UI 武胜
    symfony学习笔记
    c++ CTime COleTime的一些操作技巧
    php mysql apache 配置笔记
    查看Apache并发请求数及其TCP连接状态(转)
    MFC 添加lib引用笔记
    点分主机名
  • 原文地址:https://www.cnblogs.com/libaowen609/p/12819701.html
Copyright © 2011-2022 走看看