--======================
--author:yeeXun
--date: 2010-11-26 10:35:00
--address:17-304
--======================
ConnectedtoOracleDatabase10gEnterpriseEditionRelease10.2.0.1.0
Connectedasscott
SQL>selectdeptno,avg(sal)
fromempgroupby
deptno;
DEPTNOAVG(SAL)
----------------
301566.66666
202175
102916.66666
SQL>select*fromemp;
EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
----------------------------------------------------------------
7369SMITHCLERK79021980-12-17800.0020
7499ALLENSALESMAN76981981-2-201600.00300.0030
7521WARDSALESMAN76981981-2-221250.00500.0030
7566JONESMANAGER78391981-4-22975.0020
7654MARTINSALESMAN76981981-9-281250.001400.0030
7698BLAKEMANAGER78391981-5-12850.0030
7782CLARKMANAGER78391981-6-92450.0010
7788SCOTTANALYST75661987-4-193000.0020
7839KINGPRESIDENT1981-11-175000.0010
7844TURNERSALESMAN76981981-9-81500.000.0030
7876ADAMSCLERK77881987-5-231100.0020
7900JAMESCLERK76981981-12-3950.0030
7902FORDANALYST75661981-12-33000.0020
7934MILLERCLERK77821982-1-231300.0010
14rowsselected
SQL>selecta.ename,a.sal,a.deptno,b.avgsalfroma,(selectdeptno,avg(sal)avgsalfromempgroupbydeptno)bwherea.deptno=b.deptnoanda.sal>b.avgsal;
selecta.ename,a.sal,a.deptno,b.avgsalfroma,(selectdeptno,avg(sal)avgsalfromempgroupbydeptno)bwherea.deptno=b.deptnoanda.sal>b.avgsal
ORA-00942:表或视图不存在
--表视图:只存在于查询期间,指定别名不能用“as”关键字,如果指定列的别名可以使用关键字“as”
SQL>selecta.ename,a.sal,a.deptno,b.avgsalfromempa,(selectdeptno,avg(sal)avgsalfromempgroupbydeptno)b
wherea.deptno=b.deptnoanda.sal>b.avgsal;
ENAMESALDEPTNOAVGSAL
-----------------------------------
ALLEN1600.00301566.66666
JONES2975.00202175
BLAKE2850.00301566.66666
SCOTT3000.00202175
KING5000.00102916.66666
FORD3000.00202175
6rowsselected
SQL>select*fromemp;
EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO
----------------------------------------------------------------
7369SMITHCLERK79021980-12-17800.0020
7499ALLENSALESMAN76981981-2-201600.00300.0030
7521WARDSALESMAN76981981-2-221250.00500.0030
7566JONESMANAGER78391981-4-22975.0020
7654MARTINSALESMAN76981981-9-281250.001400.0030
7698BLAKEMANAGER78391981-5-12850.0030
7782CLARKMANAGER78391981-6-92450.0010
7788SCOTTANALYST75661987-4-193000.0020
7839KINGPRESIDENT1981-11-175000.0010
7844TURNERSALESMAN76981981-9-81500.000.0030
7876ADAMSCLERK77881987-5-231100.0020
7900JAMESCLERK76981981-12-3950.0030
7902FORDANALYST75661981-12-33000.0020
7934MILLERCLERK77821982-1-231300.0010
14rowsselected
--分页,
SQL>selecta.*,rownumru
from(select*fromemp)a;
EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNORU
--------------------------------------------------------------------------
7369SMITHCLERK79021980-12-17800.00201
7499ALLENSALESMAN76981981-2-201600.00300.00302
7521WARDSALESMAN76981981-2-221250.00500.00303
7566JONESMANAGER78391981-4-22975.00204
7654MARTINSALESMAN76981981-9-281250.001400.00305
7698BLAKEMANAGER78391981-5-12850.00306
7782CLARKMANAGER78391981-6-92450.00107
7788SCOTTANALYST75661987-4-193000.00208
7839KINGPRESIDENT1981-11-175000.00109
7844TURNERSALESMAN76981981-9-81500.000.003010
7876ADAMSCLERK77881987-5-231100.002011
7900JAMESCLERK76981981-12-3950.003012
7902FORDANALYST75661981-12-33000.002013
7934MILLERCLERK77821982-1-231300.001014
14rowsselected
SQL>selecta.*,rownumrufrom(select*fromemp)awhereru<=10;
selecta.*,rownumrufrom(select*fromemp)awhereru<=10
ORA-00904:"RU":标识符无效
--
先找出指定上限范围内的数据
SQL>selecta.*,rownumru
from(select*fromemp
)awhererownum<=10;
EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNORU
--------------------------------------------------------------------------
7369SMITHCLERK79021980-12-17800.00201
7499ALLENSALESMAN76981981-2-201600.00300.00302
7521WARDSALESMAN76981981-2-221250.00500.00303
7566JONESMANAGER78391981-4-22975.00204
7654MARTINSALESMAN76981981-9-281250.001400.00305
7698BLAKEMANAGER78391981-5-12850.00306
7782CLARKMANAGER78391981-6-92450.00107
7788SCOTTANALYST75661987-4-193000.00208
7839KINGPRESIDENT1981-11-175000.00109
7844TURNERSALESMAN76981981-9-81500.000.003010
10rowsselected
--再指定下限范围内的数据
SQL>select*from(selecta.*,rownumru
from(select*fromemp)awhererownum<=10
)whereru>=6
;
EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNORU
--------------------------------------------------------------------------
7698BLAKEMANAGER78391981-5-12850.00306
7782CLARKMANAGER78391981-6-92450.00107
7788SCOTTANALYST75661987-4-193000.00208
7839KINGPRESIDENT1981-11-175000.00109
7844TURNERSALESMAN76981981-9-81500.000.003010
--修改显示数据,只需要修改最里层的查询即可
SQL>select*from(selecta.*,rownumrufrom(selectename,sal
fromemp)awhererownum<=10
)whereru>=6
;
ENAMESALRU
-----------------------------
BLAKE2850.006
CLARK2450.007
SCOTT3000.008
KING5000.009
TURNER1500.0010
SQL>select*from(selecta.*,rownumrufrom(selectename,salfromemporderbysal)awhererownum<=10)whereru>=6;
ENAMESALRU
-----------------------------
MILLER1300.006
TURNER1500.007
ALLEN1600.008
CLARK2450.009
BLAKE2850.0010
SQL>selectcount(*)
fromemp;
COUNT(*)
----------
14
SQL>createtablemyemp(id,ename,sal)asselectempno,ename,salfrome,mp;
createtablemyemp(id,ename,sal)asselectempno,ename,salfrome,mp
ORA-00942:表或视图不存在
--数据复制法
SQL>createtablemyemp(id,ename,sal)asselect
empno,ename,salfromemp
;
Tablecreated
SQL>descmyemp;
NameTypeNullableDefaultComments
----------------------------------------
IDNUMBER(4)Y
ENAMEVARCHAR2(10)Y
SALNUMBER(7,2)Y
SQL>select*frommyemp;
IDENAMESAL
------------------------
7369SMITH800.00
7499ALLEN1600.00
7521WARD1250.00
7566JONES2975.00
7654MARTIN1250.00
7698BLAKE2850.00
7782CLARK2450.00
7788SCOTT3000.00
7839KING5000.00
7844TURNER1500.00
7876ADAMS1100.00
7900JAMES950.00
7902FORD3000.00
7934MILLER1300.00
14rowsselected
SQL>selectename,sal,jobfromempwheresal>
2500;
ENAMESALJOB
----------------------------
JONES2975.00MANAGER
BLAKE2850.00MANAGER
SCOTT3000.00ANALYST
KING5000.00PRESIDENT
FORD3000.00ANALYST
SQL>selectename,sal,jobfromempwheresal>2500union
2selectename,sal,jobfromempwherejon='manager';
selectename,sal,jobfromempwheresal>2500union
selectename,sal,jobfromempwherejon='manager'
ORA-00904:"JON":标识符无效
SQL>
SQL>selectename,sal,jobfromempwheresal>2500union
2selectename,sal,jobfromempwherejon='manager'
SQL>
SQL>selectename,sal,jobfromempwheresal>2500union
2selectename,sal,jobfromempwherejob='manager';
ENAMESALJOB
----------------------------
BLAKE2850.00MANAGER
FORD3000.00ANALYST
JONES2975.00MANAGER
KING5000.00PRESIDENT
SCOTT3000.00ANALYST
SQL>selectename,sal,jobfromempwheresal>2500union
2selectename,sal,jobfromempwherejob='MANAGER';
ENAMESALJOB
----------------------------
BLAKE2850.00MANAGER
CLARK2450.00MANAGER
FORD3000.00ANALYST
JONES2975.00MANAGER
KING5000.00PRESIDENT
SCOTT3000.00ANALYST
6rowsselected
SQL>selectename,sal,jobfromempunionall
2selectename,sal,jobfromempwherejob='MANAGER';
ENAMESALJOB
----------------------------
SMITH800.00CLERK
ALLEN1600.00SALESMAN
WARD1250.00SALESMAN
JONES2975.00MANAGER
MARTIN1250.00SALESMAN
BLAKE2850.00MANAGER
CLARK2450.00MANAGER
SCOTT3000.00ANALYST
KING5000.00PRESIDENT
TURNER1500.00SALESMAN
ADAMS1100.00CLERK
JAMES950.00CLERK
FORD3000.00ANALYST
MILLER1300.00CLERK
JONES2975.00MANAGER
BLAKE2850.00MANAGER
CLARK2450.00MANAGER
17rowsselected
SQL>selectdistinct
ename,sal,jobfromemp;
ENAMESALJOB
----------------------------
WARD1250.00SALESMAN
SMITH800.00CLERK
KING5000.00PRESIDENT
TURNER1500.00SALESMAN
JAMES950.00CLERK
FORD3000.00ANALYST
CLARK2450.00MANAGER
BLAKE2850.00MANAGER
ADAMS1100.00CLERK
SCOTT3000.00ANALYST
MILLER1300.00CLERK
ALLEN1600.00SALESMAN
MARTIN1250.00SALESMAN
JONES2975.00MANAGER
14rowsselected
SQL> exits;
-the end-
相关推荐
oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具...
二、在SQL中执行Oracle查询 1. SQL语句:使用标准的SQL查询语法,例如SELECT语句,来检索Oracle数据库中的数据。例如,`SELECT * FROM table_name` 将返回表table_name中的所有记录。 2. Oracle特定函数:Oracle...
oracle查询用户信息1.查看所有用户2.查看用户或角色系统权限3.查看角色4.查看用户对象权限5.查看所有角色
《Oracle查询优化改写技巧与案例》不讲具体语法,只是以案例的形式介绍各种查询语句的用法。第1~4章是基础部分,讲述了常用的各种基础语句,以及常见的错误和正确语句的写法。这部分的内容应熟练掌握,因为日常查询...
《Oracle查询优化改写技巧与案例》不讲具体语法,只是以案例的形式介绍各种查询语句的用法。第1~4章是基础部分,讲述了常用的各种基础语句,以及常见的错误和正确语句的写法。这部分的内容应熟练掌握,因为日常查询...
Oracle查询优化是数据库管理中的关键环节,它涉及到提高数据检索速度、降低系统资源消耗和提升整体应用性能。这本书“Oracle查询优化PDF”很可能是对Oracle数据库查询优化技术的深入探讨,涵盖了一系列相关主题,...
1. **图形化界面**:与命令行界面相比,通用查询分析器提供了一个用户友好的图形界面,使得SQL语句的编写、执行和结果查看变得更加直观和便捷。 2. **代码编辑器**:内置的代码编辑器支持SQL语法高亮,自动完成,...
在"Oracle_chaxunyouhuagaixiejiqiaoyuanli_20180929.pdf"这份文档中,可能会详细讲解以上提到的概念,并提供实际案例和技巧,帮助你深入理解和应用Oracle查询优化改写。通过学习这些内容,你将能够更好地诊断和解决...
Oracle查询优化改写 技巧与案例.pdf
《玩转Oracle查询部分》这份PPT是针对Oracle数据库系统中的查询操作进行深入探讨的资料。Oracle数据库系统作为全球广泛使用的数据库管理系统之一,其查询语言SQL(Structured Query Language)是数据库管理员、开发...
根据提供的标题、描述、标签及部分内容,我们可以了解到本篇文章主要关注的是如何在Oracle数据库中查询一个月内的数据。这里的关键在于日期范围的确定以及如何利用Oracle的内置函数来完成这一任务。接下来,我们将...
Oracle 查询语句大全-精华版 Oracle 查询语句大全是 Oracle 数据库管理系统中最基本也是最重要的组成部分,用于管理和维护数据库。本文将详细介绍 Oracle 查询语句的使用方法和实践操作。 一、创建用户和授权 在 ...
例如,如果你有一个名为`orders`的表,其中包含`order_date`列,你可以这样查询2020年1月1日至2020年12月31日之间的订单: ```sql SELECT * FROM orders WHERE order_date BETWEEN DATE '2020-01-01' AND DATE '...
oracle查询死锁语句,并能根据根据ID值杀死锁表的进程!
Oracle 多表查询优化 Oracle 多表查询优化是指在 Oracle 数据库管理系统中,为了提高多表查询的效率和性能采取的一些优化策略和技术。在 Oracle 中,多表查询是指从多个表中检索数据的操作。这种操作可能会占用大量...
Java使用Jdbc连接Oracle执行简单查询操作示例 Java使用Jdbc连接Oracle执行简单查询操作,是指使用Java语言通过Jdbc(Java Database Connectivity)连接Oracle数据库并执行简单查询操作的过程。本文将通过实例形式...
Oracle 数据查询器是一款由Delphi编程语言开发的工具,专门用于高效、便捷地查询Oracle数据库中的信息。Delphi是一款强大的Windows应用开发环境,以其高效的编译器和丰富的VCL(Visual Component Library)组件库...
Oracle查询的优化技巧,对大数据量查询的时候可以节省不少时间。
.oracle 到 SQL Server 跨库查询 Oracle 到 SQL Server 跨库查询是指通过网关工具将数据从 SQL Server 数据库中抽取到 Oracle 数据库中。这个过程需要安装和配置网关软件,并进行相应的设置和配置。 一、网关软件...