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

    多表查询首先要避免笛卡尔集,要避免笛卡尔集,那么查询条件不得少于表的个数-1.
    1.显示雇员名,雇员工资以及雇员所在的部门:

    这里写图片描述

    2.显示部门号为10的部门名、员工名和工资:

    这里写图片描述

    3.显示各个雇员的姓名,工资以及工资的级别:
    这里写图片描述

    4.显示雇员名,雇员工资及所在部门的名字,并按部门排序

    这里写图片描述

    **

    自连接

    **

    5.显示出FORD的上级领导名称:
    这里写图片描述

    6.显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号:

    这里写图片描述

    7.显示工资比部门30的任意一个员工的工资高的员工姓名、工资和部门号:

    这里写图片描述

    8.查询与SMITH的部门和岗位完全相同的所有雇员:

    这里写图片描述

    9.显示出工资高于自己所在部门平均工资的所有雇员信息:

    思路:先查出各个部门的平均工资和部门编号,再把把查询的结果看作是一张表。

    select * from emp e,(select deptno,avg(sal) as avgsal from emp group by deptno) avg_sal where e.deptno=avg_sal.deptno and e.sal>avg_sal.avgsal;

    这里写图片描述

    **

    总结

    **
    当在from子句中使用子查询时,该子查询会被作为一个视图来对待,因此叫做内嵌视图,当在from子句中使用子查询时,必须给 子查询指定别名,给子查询指定别名不使用as,给列指定别名要使用as。

  • 相关阅读:
    mysql基础知识
    项目开发步骤
    python 中的电子邮箱的操作
    django 运行python manage.py sqlall books 时报错 app has migration
    mysql报错锦集
    搭建spark中需要注意的问题
    pycharm5.0 激活方式
    python去除停用词(结巴分词下)
    Ubuntu下安装libsvm
    PCIE_DMA实例五:基于XILINX XDMA的PCIE高速采集卡
  • 原文地址:https://www.cnblogs.com/qitian1/p/6461817.html
Copyright © 2011-2022 走看看