`
zimingguo
  • 浏览: 3263 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

oracle经典例子

阅读更多
[size=xx-large][/size]以售饭机机器表位例进行的分页查询语句

select machineid,money from machine where rownum<5
minus
select machineid,money from machine where rownum<2

上面使用的是minus来先列举出前5条在减掉前两条的数据,这样会造成性能上的问题

方法二:用子查询

select machineid,money from machine where machineid in(select machineid from machine where rownum<6)
and machineid not in(select machineid from machine where rownum <3);

方法三:

select machineid,money from (select machineid,money,rownum r from machine)where r<5 and r>2;  ---查询出第3,4条数据

如果需要按money由高道低进行排序后取第5到10条数据呢?

select machineid,money from (select machineid,money,rownum r from(select machineid,money from machine order by money desc))where r<=10 and r>4;

性能调优---如果让上面的例子查询速度再快一点点呢?

select mealcardid,mealcardname,balance from
(select mealcardid,mealcardname,balance,rownum r from(select mealcardid,mealcardname,balance from mealcard order by balance)where rownum<10)where r>5

方法是在里层查询之中加上rownum<10先过滤掉一部分数据

二:查询一个年龄段之间的值:

查询10-20,20-30,30-40,40-50,50-60之间的数并列出个数

方法一:select count(*),trunc(sage/10)*10 from t_student group by trunc(sage/10);

方法二:为视图方便起见可以加上一个decode函数...

select decode(trunc((age-1)/10),1,'10-20',2,'20-30',3,'30-40',4,'40-50',5,'50-60',6,'60-70'),count(*) from ming_info group by trunc((age-1)/10);

三:查询年龄不重复的年龄的总数?(去掉重复的年龄)

select count(distinct(age)) from ming_info;

这种查询方式在计数时会自动去掉重复的列....

四:查询各个年龄及此年龄的总人数?

select count(*),age from ming_info group by age;

五:查询各个部门号及各部门的总人数:

select deptno,count(*) from emp group by deptno;

六:查询一个地区姓名相同的人的人数

select count(*) ,name,address from ming_info group by address,name; 

以上按name和address分组,则每一组的name和address必定相同....

七:把同一个年龄人数大于1的年龄和人数输出

select age,count(*) from ming_info group by age having count(*)>1;

此处应该注意:where子句中不能含有分组函数,分组函数的条件此处用having进行过滤...

八:求出大于平均年龄的人

select * from ming_info where age>(select avg(age) from ming_info);

如果要用分组函数呢?能不能行呢?希望大家想一想,这个我也没有做出来...
九:把 test_seqenct表之中的name相同的记录全部删除
delete from test_seqence where name in(select name from test_seqence
group by name  having count(*)>1);
如果把id较大的重名的记录全部删除掉呢?
delete from test_seqence ziming where rowid not in
(select min(rowid) from test_seqence ming where zimng.name=ming.name);

十:随机删除所抽取的几条记录???
用dbms_random函数从dual表中随机取值

首先弄清楚按随机数排序的query语句
select id,name,dbms_random.random from test_seqence order by dbms_random.random;
然后怎么样删除呢?
select *  from (select id,name from test_seqence order by dbms_random.random)
where rownum<5;
十一:查询每个部门的员工: 员工的薪水=该部门的平均薪水
select ename from emp where (deptno,sal) in (select deptno,avg(sal) from emp group by deptno);
分享到:
评论

相关推荐

    120套Oracle经典案例库(命令表).pdf

    文档"120套Oracle经典案例库(命令表)"提供了一系列基于Oracle数据库的案例练习,覆盖了从基本表结构创建到复杂查询的各种操作。这些案例不仅有助于学习Oracle SQL的基础知识,而且能够帮助DBA(数据库管理员)和...

    Oracle经典案例

    从给定的Oracle经典案例中,我们可以提炼出多个重要的知识点,涵盖了Oracle数据库的查询、PL/SQL编程、异常处理、循环结构以及数据操作语言(DML)等关键领域。下面将详细阐述这些知识点: ### 1. PL/SQL变量与条件...

    oracle资料 包含经典案例 基础教程 和Oracleoracle_database_10g_为_dba_提供的最佳前_20_位的特性.pdf

    这份压缩包中的资源,包括经典案例、基础教程以及《Oracle Database 10g for DBA的前20个最佳特性》PDF文档,为学习和深入理解Oracle提供了宝贵的材料。 首先,让我们来探讨Oracle的基础教程部分。Oracle数据库的...

    《Oracle经典教程》PDF

    《Oracle经典教程》是一本专为想要深入了解Oracle数据库系统的学习者设计的专业教程。Oracle数据库是全球广泛使用的数据库管理系统之一,尤其在企业级应用中占据重要地位。本教程旨在帮助读者从基础到高级全面掌握...

    Oracle数据库经典案例教程

    本教程“Oracle数据库经典案例教程”旨在帮助学习者深入理解Oracle数据库的原理与实践操作,通过PPT形式呈现,使学习过程更为直观和易懂。 在Oracle数据库中,我们首先会接触到SQL(结构化查询语言),它是与数据库...

    c++连接oracle数据库经典例子occi.docx

    c++连接oracle数据库经典例子occi.docx

    1000个ORACLE经典问题回答

    ### ORACLE经典问题解答知识点概览 #### 1. Oracle 安装完成后的初始口令 - **知识点**: Oracle 在安装完成后,会设置一系列默认的用户名和密码。 - **internal/oracle** - **sys/change_on_install** - **...

    oracle经典sql案例

    根据提供的文件信息,以下是从标题、描述和部分内容中提取的关于Oracle经典SQL案例的知识点: 标题知识点: - Oracle经典SQL案例:这部分表明文档内容是围绕Oracle数据库系统中的SQL语句展开的,涵盖了多种SQL用法...

    ORACLE设计案例精编

    本"ORACLE设计案例精编"旨在提供一系列深入的Oracle数据库设计和管理实践案例,帮助读者从理论到实践全面掌握Oracle技术。以下是根据标题、描述以及压缩包中的文件名称,提炼出的相关知识点: 1. **Oracle数据库...

    oracle经典100问

    以上只是对"Oracle经典100问"可能涵盖内容的预览,实际文档中可能会更深入地讨论每个主题,并提供具体的操作步骤和案例分析,帮助读者更全面地掌握Oracle数据库的使用技巧。通过深入学习和实践这些知识点,无论是...

    .net mvc4 oracle 经典增删查改例子

    本教程将通过一个经典的小例子,教你如何使用.NET MVC4、Visual Studio 2010或2012与Oracle数据库进行数据操作,包括增、删、查、改等基本功能。以下是详细的步骤和知识点讲解: 1. **.NET MVC4简介**:ASP.NET MVC...

    oracle经典书籍下载

    《Oracle经典书籍下载》指的是Apress出版社出版的《Troubleshooting Oracle Performance》一书的电子版资源。这本书在Oracle数据库管理领域中被视为一本经典之作,深入探讨了如何诊断和优化Oracle数据库性能问题。 ...

    Oracle经典书籍之---ORACLE-RAC

    《Oracle经典书籍之---ORACLE-RAC》是一本专门探讨Oracle Real Application Clusters(RAC)技术的专业书籍,英文原版提供了深入的理论知识和实践经验。Oracle RAC是Oracle数据库的一项重要特性,它允许多个数据库...

    Oracle数据库案例教程.pdf

    从给定的文件信息来看,这是一本关于Oracle数据库的案例教程,主要面向初学者,旨在通过实际案例和练习帮助读者掌握Oracle数据库的基础知识和操作技能。以下是对该教程涉及的关键知识点的详细解读: ### Oracle...

    oracle游标案例

    以下是对"oracle游标案例"的详细解释。 1. **游标概念**: 游标(Cursor)在Oracle中是一个数据库对象,用于存储查询结果集的指针,它能够移动到结果集的不同行上,使得我们能够逐行读取、修改或处理数据。游标...

    Oracle开发实战经典 李兴华

    标题中提到的《Oracle开发实战经典 李兴华》可能指的是一本关于Oracle数据库开发的实用指导书籍。Oracle数据库作为全球领先的企业级数据库管理系统,被广泛应用于金融、电信、制造等多个行业中。开发者在学习和使用...

    ORACLE备份恢复案例

    本文将基于"ORACLE备份恢复案例"这一主题,详细阐述Oracle数据库的备份策略、备份类型、恢复方法以及如何处理实际工作中遇到的问题。 1. Oracle备份策略: Oracle提供了多种备份策略,包括物理备份(如RMAN备份)...

    C#例子代码 A0650_EF_Oracle

    C#例子代码 A0650_EF_OracleC#例子代码 A0650_EF_OracleC#例子代码 A0650_EF_OracleC#例子代码 A0650_EF_OracleC#例子代码 A0650_EF_OracleC#例子代码 A0650_EF_OracleC#例子代码 A0650_EF_OracleC#例子代码 A0650_...

Global site tag (gtag.js) - Google Analytics