oracle基本查询实例及分页基础.docx

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Oracle经典子查询及分页基础详解(强力推荐)

一:

如何显示高于自己部门平均工资的员工的信息。

查询出各个部门的平均工资和部门号。

selectdeptNO,avg(sal)mysalfromempgroupbydeptNO;

把上面的查询看成是一张子表。

selecta2.ename,a2.sal,a2.deptNO,a1.mysalfromempa2,(selectdeptNO,avg(sal)mysalfromempgroupbydeptNO)a1wherea2.deptNO=a1.deptNoanda2.sala1.mysal;

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

oracle的分页一共有三种方式。(根据rowId,按分析函数来分,按rownum

来分。)

(1)selecta1.*,rownumrnfrom(select*fromemp)a1;

注:rownum分页。rownum给每一行分配一个行号。

显示emp表的前十行:

selecta1.*,rownumrnfrom(select*fromemp)a1whererownum=10;

(select*fromemp)虚拟表可以看成个一个真实的表,where限制语句里面的条件需要是虚拟表里的面存在的。

注:这里rownum是红色部分表中隐含的列。可以通过下面查询语句进行验证

selecta2.*,rownumrnfrom(selecta1.*,rownumfromempa1)a2whererownum=10;

注:这里rn不能做条件条件是之前就存在的,才能用作条件。4.显示emp表5--10条:

select*from(selecta1.*,rownumrnfrom(select*fromemp)a1whererownum=10)where rn=6;

注:rownum在子查询中where之后只能出现一次,where rownum=5andrownum=10是错的。

指定查询列,只需修改最里层的子查询。

select*from(selecta1.*,rownumrnfrom(selectename,salfromemp)a1whererownum=10)where rn=6;

如何排序,只需修改最里层的子查询。

select*from(selecta1.*,rownumrnfrom(selectename,salfromemporderbysaldesc)a1whererownum=10)where rn=6;

显示第四条到第九条:

select*from(selecta1.*,rownumrnfrom(selectename,salfromemporderbysaldesc)a1whererownum=9)where rn=4;查询其他的表的话,只可把表名给改了就行了。

显示emp表有多少行

selectcount(*)fromemp;

用查询结果创建新表。这个命令是一种快捷的建表方法。

create table mytable(id,name,sal,job,deptNO) as selectempNO,ename,sal,job,deptNOfromemp;

合并查询。

union并集。该操作用于取得两个结果的并集。当使用该操作时,会自动去掉结果集中重复行。

selectename,sal,jobfromempwheresal2500union

selectename,sal,jobfromempwherejob=MANAGER;11.unionall合并查询但不会去掉重复行。

12.minus,如果a包括b,那么显示a中除b的部分。

.

注:涉及子查询时.逻辑要清楚。根据查询语句相关的条件拆分分步击破。一层

一层的由里到外击破。

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档