zoukankan      html  css  js  c++  java
  • 多表查询

    1. -- 等值连接 用等号去连接2个表,但是一定要注意连接的2个表一定要有关系

            -- 查询员工信息和员工的工资级别

          select e.empno,e.sal,s.grade,s.losal,s.hisal

          from emp e,salgrade s
          where e.sal between s.losal and s.hisal;

    2. -- 不等值连接 -- 外连接

           统计每一个部门的人数 显示部门号 部门名称 部门人数

          select e.deptno,d.dname,count(*)
          from emp e,dept d
          where e.deptno = d.deptno
          group by e.deptno,d.dname;

    3. 外连接:分类左外连接和右外连接
          左外连接:  where e.deptno = d.deptno 不成立的时候,无论右边是否有数据与之对应,左边的都要显示
                where e.deptno = d.depton(+)
          右外连接:  where e.deptno = d.deptno 不成立的时候,无论左边表是否有数据与之对应,右边表都会显示
                where e.deptno(+) = d.deptno;

        --select d.deptno,d.dname,count(e.empno)
          from emp e,dept d
          where e.deptno(+) = d.deptno
          group by d.deptno,d.dname;

       左外连接以左边表为主表,主表会显示所有,另一个表如果没有显示空,右外连接以右边表为主表.....

    4.  -- 内连接

         select e.ename 领导名字,e.empno 领导ID,p.ename 员工名字,p.empno 员工ID
         from emp e,emp p
         where e.empno = p.mgr;

       -- 内连接只能做数据量小的表,对于大表层次查询

    5. -- 层次查询

        select e.ename 领导名字,e.empno 领导ID
        from emp e
        connect by prior empno = mgr                --prior 另一条语句
        start with mgr is null;

       

  • 相关阅读:
    2015 ACM/ICPC Asia Regional Changchun Online HDU 5444 Elven Postman【二叉排序树的建树和遍历查找】
    JDBC连接MySQL数据库
    MySQL实习训练1
    I Hate It
    Just a Hook
    Mayor's posters
    asd的甩锅计划
    程序员的恋情
    Radical and array
    Highways
  • 原文地址:https://www.cnblogs.com/savepoint/p/5338427.html
Copyright © 2011-2022 走看看