为了账号安全,请及时绑定邮箱和手机立即绑定

Oracle高级查询

  • group by 后不可以使用子查询


    查看全部
  • select语句后面的子查询必须是一个单行子查询

    【语句只返回一条记录就是单行子查询,返回多条记录就是多行子查询】

    查看全部
  • 子查询注意点

    1.可以使用位置:where, select, having, from

    2.不可以使用位置:group by

    3.重点--from后面的子查询

    4.主查询和子查询可以不是同一张表

    5.一般不在子查询中使用排序,但Top-N分析问题例外,它必须对子查询排序

    6.一般先执行子查询,再执行主查询,但相关子查询例外

    7.单行子查询只能使用单行操作符,多行子查询只能使用多行操作符

    8.子查询中null值问题

    查看全部
  • 层次查询

    某些情况下,可以替代自连接

    本质上,是一个单表查询

    自连接:

    select level【伪列,表示树的深度】, empno, ename, sal, mgr

    from emp

    connect by prior empno=mgr【前者的员工号等于后者的老板号,在树中即上一层的员工号等于当前层的老板号】

    start with mgr is null;【从没有老板的那个员工即树的根节点开始遍历整棵树】

    //相当于 start with empno=某个员工号【遍历以该员工为根节点的树】;

    order by 1;


    查看全部
  • 自连接

    涵义:通过别名,将同一张表视为多张表

    查看全部
    0 采集 收起 来源:[Oracle] 自连接

    2019-03-30

  • 外连接

    涵义:通过外连接,把对于连接条件不成立的记录,仍然包含在最后的结果中。

    外连接写法与说法相反:

    右外连接【在等号的左边写个(+)】

    select d.deptno 部门号, d.dname 部门名称, count(e.empno) 人数
    from emp e, dept d
    where e.deptno(+)=d.deptno
    group by d.deptno,d.dname;

    左外连接

    select d.deptno 部门号, d.dname 部门名称, count(e.empno) 人数
    from emp e, dept d
    where e.deptno=d.deptno(+)
    group by d.deptno,d.dname;


    查看全部
    0 采集 收起 来源:[Oracle] 外连接

    2019-03-30

  • between and

    必须小值在前,大值在后,若颠倒会出现未选定行错误。

    查看全部
  • 等值连接

    多表中的同样属性等值,以此为连接点

    查看全部
  • 给表起别名

    from 表名 别名(表名+空格+别名);

    查看全部
  • 多表查询

    等值连接

    不等值连接

    外连接

    自连接

    层次查询

    查看全部
  • 读取执行电脑文件

    get 磁盘名称:\...\... .sql

    @磁盘名称:\...\... .sql

    查看全部
  • 报表

    ttile col 15 ‘我的报表’col 35 sql.pno【空15列写标题,空35列显示报表页码】

    col xxx1 heading xxx2;【为第xxx1列设置别名xxx2】

    查看全部
  • 在select列表中所有未包含在组函数中的列都应该包含在group by子句中

    查看全部
  • 分组函数会自动滤掉空值,可使用nvl函数屏蔽分组函数的滤空功能,nvl(arg1,arg2),单第一个参数为空则返回第二个自参数的值。

    查看全部
    1 采集 收起 来源:使用分组函数3

    2019-03-27

  • avg函数与sum函数

    min函数与max函数

    count函数,可加distinct关键字

    查看全部
    0 采集 收起 来源:使用分组函数1

    2019-03-27

举报

0/150
提交
取消
课程须知
小伙伴们,学习本课程前需要掌握Oracle的语法基础,并且对Oracle的函数有所了解。如不了解这两部分内容,请移步《Oracle数据库开发必备利器之SQL基础》和《Oracle数据库开发利器之函数》两门教程。
老师告诉你能学到什么?
1、掌握分组查询 2、掌握多表查询 3、掌握子查询

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!