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

Oracle高级查询

  • 笛卡儿积的列数等于各表列数相加,行数等于各表行数相乘。 为了避免笛卡尔集,可以在where加入有效的连接条件。 在实际运行环境下,应避免使用笛卡尔全集。 连接条件应至少有n-1个(n为表的个数)
    查看全部
  • 出现在select后面的字段,且没有在分组函数中的,必须要在group by子句中声明; where子句中不能使用组函数; having用于过滤分组后的数据,与where类似; 如果过滤条件中没有分组函数时,where与having通用,那么从sql优化的角度来讲,where的效率更高,因为having是先分组再过滤,而where是先过滤再分组。
    查看全部
  • wm_concat(列名)行转列 select deptno 部门号,wm_concat(ename) 部门中员工的姓名 from emp group by deptno; 按照部门号分组,将相同部门号的员工以逗号分隔的形式展示到一行中
    查看全部
    0 采集 收起 来源:使用分组函数2

    2015-08-04

  • 常用分组函数: avg:平均数 sum:求和 min:最小值 max:最大值 count:组中包含数据的个数 wm_concat:行转列
    查看全部
  • 所有的这些设置,我们可以把它保存成.sql格式的文件,把它保存到一个目录下,然后我们可以在sqlplus中把这个文件用get语句加上路径读取进来,语句可以见图片,然后我们要执行的话就输入一个@然后加上路径,这样格式就设置好了,我们就可以执行sql语句了,执行sql语句后就会显示成我们设置的格式。
    查看全部
  • 1.使用ttitle命令设置报表的名称,col表示列的意思,15表示空15列显示“我的报表”这个标题,然后再空35个列,显示sql.pno,sql.pno表示报表的页码。 2.col也可以用来设置列的别名,比如第二行把deptno标题设置为部门号 3.break on deptno skip 1,在上一节课程已经介绍过,表示遇见重复的部门号就只显示一次,不同的部门号之间空一行
    查看全部
  • 相同的部门号只显示一次,不同的部门号隔2行 break on deptno skip 2
    查看全部
  • group by 语句的增强 group by rollup(a.b)可以理解等价于: group by a,b + group by a + group by null
    查看全部
  • 分组函数的嵌套; select max(avg(sal)) from emp group by deptno
    查看全部
  • sqlplus的另一个小技能: a命令(单词append的缩写,表示追加) 当我们想在一个语句之后加上一个语句时,就好像图中我想在最后加上一个desc,以便降序排列 那么我们可以直接在输入界面输入 a desc(注意必须得是两个空格或两个空格以上) 然后输入/再按回车执行就可以了
    查看全部
  • order by默认是升序排列,想降序就加上desc 根据别名:select deptno,avg(sal) 平均工资 from emp group by deptno order by 平均工资 根据列号排序:select deptno,avg(sal) 平均工资 from emp group by deptno order by 2 (这样得出的结果也是按照平均工资排序)
    查看全部
  • 1.where 条件中不能使用组函数,having 可以。 2.在输入顺序上,where先过滤后分组 (比如select deptno,avg(sal) from emp where deptno=10 group by deptno; ),having先分组再过滤, (比如select deptno,avg(sal) from emp group by deptno having deptno=10;) 要根据实际情况选择 3.如果两个可以通用,从sql优化的角度上看,尽量使用where.(where先过滤掉无关数据,对执行效率有大幅提高)
    查看全部
  • 在sqlplus中,选中需要修改的函数,然后输入ed,按回车,就可以出来一个buf格式的记事本文件,可以在里面修改函数,保存并关闭,函数就自动进到了sqlplus的输入界面,然后输入/并回车就可以执行了
    查看全部
  • 然而,包含在group by子句中的列不必包含在select列表中
    查看全部
  • --group by 子句 select deptno ,avg(sal) from emp group by deptno; --抽象 select a ,组函数(x) from table group by a ; --在select 列表中所有未包含在组函数中的列都应该包含在group by子句中。 select deptno ,job,sum(sal) from emp group by deptno, jbo order by depton;
    查看全部

举报

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

微信扫码,参与3人拼团

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

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