zoukankan      html  css  js  c++  java
  • oracle 4 : 连接查询

    连接查询: join

    (1)等值连接: 通常用主外键连接

    (2)非等值连接

         例

    --统计每个人姓名。部门名,薪资,薪资级别
    select ename,d.dname,e.sal,s.grade
    from emp e,dept d,salgrade s
    where e.sal between s.losal and s.hisal
    and e.deptno = d.deptno

    (3)内部连接 关键字 inner join on 想当于where

    select *
    from emp e
    inner join dept d
    on d.deptno = e.deptno

    (4)外部连接   左右连

      左连接:left join 以左边表为主表

        右连接:

      全外连接 :把表中所有数据都显示出来,有关联的数据,使用关联条件拼接,没有数据的用null 填充  关键字: full outer join

    (5)自身连接

      

    --自身连接  查询员工的上级领导
    select e1.ename,e1.job,e2.ename from emp e1,emp e2
    where e1.mgr = e2.empno

    (6)交叉连接,产生笛卡尔积

      

    --交叉连接
    select * from emp cross join dept

    (6)自然连接  关键字 natural join

      根据同名列进行自动连接

      要求同名列的数据类型必须相同,长度必须相同,主外键必须一致

      相当于没有条件的等值连接

    --自然连接
    select * from emp 
    natural join dept

    (7)联合查询: 多个投影结果合并在一起  关键字 union all

      要求进行查询的结果的列数必须相同:

      对应的列的数据类型必须相同,长度口蹄疫不同

      union all 全部显示

      union 自动去除重复数据  

      

    --联合查询
    select empno, ename
    from emp
    union all
    select deptno,dname from dept

    去重关键字: distinct:

    --查询都有哪些部门有员工,员工在哪些部门里
    select distinct deptno from emp
  • 相关阅读:
    LeetCode 32. 最长有效括号(Longest Valid Parentheses)
    LeetCode 141. 环形链表(Linked List Cycle)
    LeetCode 160. 相交链表(Intersection of Two Linked Lists)
    LeetCode 112. 路径总和(Path Sum)
    LeetCode 124. 二叉树中的最大路径和(Binary Tree Maximum Path Sum)
    LightGBM新特性总结
    sql service 事务与锁
    C#泛型实例详解
    C# 中的委托和事件(详解)
    C# DateTime日期格式化
  • 原文地址:https://www.cnblogs.com/miaomeng/p/8890454.html
Copyright © 2011-2022 走看看