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

Oracle高级查询

  • 自连接: 核心:通过别名,将同一张表视为多张表 例如:查询员工姓名和员工老板姓名 select e.ename 员工姓名,b.ename 老板 from emp e,emp b where e.mgr=b.empno;
    查看全部
    2 采集 收起 来源:[Oracle] 自连接

    2017-03-10

  • 外连接: 核心:通过外连接,把对于连接条件不成立的记录,仍然包含在最后的结果中 分为:(1)左外连接:当连接条件不成立的时候,等号左边的表仍然被包含 (2)右外连接:当连接条件不成立的时候,等号右边的表仍然被包含 例如: 按部门统计员工人数,要求显示:部门号,部门名称,人数 select d.deptno 部门号,d.dname 部门名称,count(e.empno) 人数 from emp e,dept d where e.deptno(+)=d.deptno group by d.deptno,d.dname; (右外连接在等号左边添加“(+)”,左外连接是在等号右边添加“(+)”)
    查看全部
    2 采集 收起 来源:[Oracle] 外连接

    2017-03-10

  • 不等值连接: 例如:查询员工信息,要求显示:员工号,姓名,月薪,薪水级别 select e.empno,e.ename,e.sal,s.grade from emp e, salgrade s where e.sal between s.losal and s.hisal; (between ...and... 小值在前 大值在后)
    查看全部
  • 等值连接:(连接条件使用等号相连) 例如:select e.empno,e.ename,e.sal,d.dname from emp e,dept d where e.deptno=d.deptno;
    查看全部
  • 1. ttitle col 15 '我的报表' col sql.pno (col 15 表示空15个列 显示'我的报表' sql.pno b表示报表的页码 ) 2. col deptno heading 部门号 (将deptno 名字设为部门号) 3. col job heading 职位 4. col sum(sal) heading 工资总额 5. break on deptno skit 1 (表示遇见重复的部门号就只显示一次,不同的部门号之间空一行) 注: 只在当前会话中有效。
    查看全部
  • 1.GROUP BY 语句的增强 语法:group by rollup(a,b); 等价于: group by a,b + group by a + group by null 2. break on deptno skip 2 表示不同的部门号只显示一次 并且空两行 3. set pagesize 30 设置页面大小
    查看全部
  • --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;
    查看全部
  • NVL(表达式1,表达式2) 如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值。 该函数的目的是把一个空值(null)转换成一个实际的值。其表达式的值可以是数字型、字符型和日期型。但是表达式1和表达式2的数据类型必须为同一个类型。
    查看全部
    1 采集 收起 来源:使用分组函数3

    2017-03-09

  • wm_concat(列名)行转列 select deptno 部门号,wm_concat(ename) 部门中员工的姓名 from emp group by deptno; 按照部门号分组,将相同部门号的员工以逗号分隔的形式展示到一行中 设置显示格式,在文本文档里面修改命令并保存,编辑器命令就会发生相应的变化,接下来是修改行款列宽: SQL> set linesize 200 SQL> col 部门中员工的姓名 for a60
    查看全部
    2 采集 收起 来源:使用分组函数2

    2018-03-22

  • selelt avg(工资列),sum(工资列),max(工资列),min(工资列)from emp(工资表); //查询工资表里面的平均工资,和,最大值,最小值<br> select count( 部门) from emp;//查询部门里面的值的个数<br> select count(distinct 部门) from emp;//查询不重复的个数<br> <br> host cls 清除屏幕上的文字
    查看全部
    1 采集 收起 来源:使用分组函数1

    2018-03-22

  • nvl 函数 是oracle中的滤空函数。让其不能将空值过滤。
    查看全部
    0 采集 收起 来源:使用分组函数3

    2017-03-06

  • 分组函数自动忽略 空值。只会获取不为空的值 。
    查看全部
    0 采集 收起 来源:使用分组函数3

    2017-03-06

  • SELECT * FROM ( SELECT rownum r, e.empno, e.ename, e.sal FROM (SELECT * from emp ORDER BY sal DESC) e) WHERE r>=5 AND r<=8 ; 这样确实可以得出一样的结果
    查看全部
    0 采集 收起 来源:案例1

    2018-03-22

  • 多行子查询的空值问题 a!=null和a=null都为假 判断是不是空值应该使用is null或is not null
    查看全部
  • 多行操作符
    查看全部

举报

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

微信扫码,参与3人拼团

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

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