zoukankan      html  css  js  c++  java
  • 1.5 Oracle数据库学习教程-多表查询

    Oracle数据库学习教程

    多表查询

    20211006143105

    仔细看上面的图片
    多表操作,首先会生成笛卡尔全集表.多表查询就是按照给定条件(连接条件),从笛卡尔全集中选出正确的结果
    根据连接条件的不同可以划分为:等值链接、不等值链接、外链接、自连接

    1.等值连接

    emp表: 记录了员工姓名,部门ID等,没有部门名
    20211006142723
    dept表: 记录了部门ID,部门名等
    20211006142812
    多表: 现在需要,员工名和部门名,很明显需要两张表的信息
    20211006143726

    所以需要添加where选出真正需要的数据
    20211006144521
    如果有N张表,至少需要N-1个条件.

    2.不等值连接

    工资级别表
    20211006150007

    下面是不等值连接(使用between..and更合适)
    20211006150430

    3.外连接

    统计各部门人数:
    20211006151605

    也就是包含一些不符合where条件的数据

    左外链接:当 where e.deptno=d.deptno 不成立的时候,=左边所表示的信息,仍然被包含。

    • 写法:与叫法相反:where e.deptno=d.deptno(+)

    右外链接:当 where e.deptno=d.deptno 不成立的时候,=右边所表示的信息,仍然被包含。

    • 写法:依然与叫法相反:where e.deptno(+)=d.deptno

    20211006152747

    4.自连接

    核心,通过表的别名,将同一张表视为多张表。
    select e.ename || ' 的老板是 ' || nvl(b.ename, '他自己' )from emp e, emp b where e.mgr=b.empno(+)
    20211006155415

    本文来自博客园,作者:Ovins,转载请注明原文链接:https://www.cnblogs.com/ovins/p/15371510.html

    喜欢请点关注❤️ ❤️ ❤️
  • 相关阅读:
    比特币and区块链
    C#汽车租赁系统 完整版
    C#托盘程序设置
    网络电视精灵项目
    C#文件操作 File(静态类)
    深入解读XML解析
    ListView 控件总结
    DataGridView 的使用总结
    动态添加节点
    IrisSkin2.dll 添加皮肤
  • 原文地址:https://www.cnblogs.com/ovins/p/15371510.html
Copyright © 2011-2022 走看看