1.取出表中第31到40行的记录
mysql方案:select * from t order by id limit 30,10
oracle方案:
select t2.*
from (select rownum r,t1.* from yourtable t1 where rownum<=40) t2
where t2.r>30
2.truncate和delete有什么区别
TRUNCATE TABLE在功能上与不带WHERE子句的DELETE语句相同,二者均删除表中的全部行。但TRUNCATE
TABLE比DELETE 速度快,且使用的系统和事务日志资源少。DELETE 语句每次删除一行,并在事务日志中为所删除的每一行记录一项。
TRUNCATE TABLE通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
TRUNCATE, DELETE, DROP放在一起比较:
TRUNCATE TABLE:删除内容、释放空间但不删除定义。
DELETE TABLE:删除内容不删除定义,不释放空间。
DROP TABLE:删除内容和定义,释放空间。
3. oracle的rowid和rownum有什么区别
rowid是唯一标识一条记录物理位置的一个id。
rownum是oracle系统为查询返回的行顺序分配的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,且rownum不能以任何表的名称作为前缀。
4.Oracle函数(Function)与存储过程(Procedure)的区别
function
的返回值永远只有一个,而procedure的返回值却可以不只一个。function所有的参数都是input信号,而procedure的参数却可以
是input、output,甚至inout。function的返回值置于参数声明之外,而procedure的返回值是放在参数声明之内的。
5.删除一张表重复记录(ID 是自增唯一,重复记录:其他字段都是一样)
delete from aa where id not in (select min(id) from aa group by name,age);
6.一个表中的 id 有多个记录,把所有这个 id 的记录查出来,并显示共有多少条记录数。
select id, count(*) from tb group by id having count(*)>1
7.SQL优化
(1)尽量少用 IN 操作符
基本上所有的 IN 操作符都可以用 EXISTS 代替,在选择 IN 或 EXIST 操作时,要根据主子表数据量大小来具体考虑。
(2)尽量不用“<>”或者“!=”操作符
不等于操作符是永远不会用到索引的,因此对它的处理只会产生全表扫描。比如:a<>0改为a>0 or a<0
(3)尽量不用通配符“%”或者“_”作为查询字符串的第一个字符
当 通配符“%”或者“_”作为查询字符串的第一个字符时,索引不会被使用。比如用 T 表中 Column1 LIKE ‟%5400%‟
这个条件会产生全表扫描,如果改成 Column1 ‟X5400%‟ OR Column1 LIKE ‟B5400%‟ 则会利用 Column1
的索引进行两个范围的查询,性能肯定大大提 高。
(4)Where子句中避免在索引列上使用计算
substr(no,1,4)= ‘5400’,优化处理:no like ‘5400%’
trunc(hiredate)=trunc(sysdate),优化处理:hiredate >=trunc(sysdate) and hiredate <trunc(sysdate+1)
(5)用“>=”替代“>”
大 于或小于操作符一般情况下是不用调整的,因为它有索引就会采用索引查找,但有的情况下可以对它进行优化,如一个表有 100
万记录,一个数值型字段A,30万记录的A=0,30万记录的A=1,39万记录的A=2,1万记录的A=3。那么执行 A>2 与
A>=3 的效果就有很大的区别了,因为 A>2 时 ORACLE 会先找出为 2 的记录索引再进行比较,而 A>=3 时
ORACLE 则直接找到=3的记录索引
(6)使用表的别名,并将之作为每列的前缀
当在sql语句中连接多个表时,使用表的别名,并将之作为每列的前缀。这样可以减少解析时间。
(7)用UNION ALL代替UNION
UNION 是最常用的集操作,使多个记录集联结成为单个集,对返回的数据行有唯一性要求,所以oracle就需要进行SORT
UNIQUE操作(与使用distinct时操作类似),如果结果集又比较大,则操作会比较慢;UNION
ALL操作不排除重复记录行,所以会快很多,如果数据本身重复行存在可能性较小时,用union all会比用union效率高很多!
8.事务的acid特性
原子性、一致性、独立性、持久性

Oracle数据库面试题的更多相关文章

  1. Oracle数据库面试题【转载】

    1. Oracle跟SQL Server 2005的区别? 宏观上: 1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于windo ...

  2. Oracle数据库面试题(转)

    1. Oracle跟SQL Server 2005的区别? 宏观上: 1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于windo ...

  3. SQL数据库面试题

    SQL数据库面试题 1.SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值 这种情况其实我们经常用到,比如我们新建了一个用户,建立完用户后我们希望马上得到这个新用户的ID ...

  4. 经典SQL数据库面试题以及答案—Oracle版本-SQL全部在plsql开发编写-欢迎提问

    Student(Sno,Sname,Sage,Ssex) 学生表 S1:学号:Sname:学生姓名:Sage:学生年龄:Ssex:学生性别 Course(Cno,Cname,T1) 课程表 C1,课程 ...

  5. SQL SERVER 数据库面试题

    1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name   kecheng   fenshu 张三     语文       81张三     数学       75李四     语文   ...

  6. Oracel 数据库面试题

    1.取出表中第31到40行的记录mysql方案: , oracle方案: select t2.* ) t2 2.truncate和delete有什么区别TRUNCATE TABLE在功能上与不带WHE ...

  7. 数据库面试题之PL/SQL面试题

    create table employee( id ) not null, -- 员工工号 salary ,) not null, -- 薪水 name ) not null -- 姓名 ); 第一题 ...

  8. 数据库面试题.net

    1.ADO.net中常用的对象 connection, command, sqladapter, dataset, dataview. 2.net中读写数据库要用到哪些类 DataSet数据存储 Da ...

  9. MySQL 数据库面试题

    原文出处:https://juejin.im/post/5a9ca0d6518825555c1d1acd 作者:Java3y 本文在原文基础上进行修改,而且没有特定针对MySQL. 一.存储过程(以及 ...

随机推荐

  1. SAP HANA开发中常见问题- 基于SAP HANA平台的多团队产品研发

    大家都知道SAP HANA项目打包成Delivery Unit(缩写为DU).依照"官方"的开发模式,特别是整个团队仅仅使用一个HANA Instance进行项目开发,因为HANA ...

  2. 什么是简单的分析SQL注入漏洞

    如今非常多人在入侵的过程中基本都是通过SQL注入来完毕的,可是有多少人知道为什么会有这种注入漏洞呢?有的会随口说着对于字符的过滤不严造成的. 可是事实是这样吗?我们学这些.不仅要知其然.更要知其所以然 ...

  3. C/C++基础笔试题1.1.2(十问解决方案运营商)

    他写在博客上不负责任,有人踩在上面,原因一点点失去了它. 其实纯常见问题.特别糟糕,由于鲍文看起来很大的优势就是想更直接看到的东西. 好了.返回整个标题. 1.你脑海中的运算符有哪些.按优先级排个序? ...

  4. Android之Http沟通——4.Android HTTP索取信息:HttpClient

    本节介绍: 他谈到了部分HttpURLConnection.本节HttpClient该,Apache为我们提供HttpClient(简单的Http客户端),只是毕竟不是亲儿子.HttpClient在A ...

  5. Android相框 与 源代码结构

    一. Android 相框 Android框架层级 : Android 自下 而 上 分为 4层; -- Linux内核层; -- 各种库 和 Android执行环境层; -- 应用框架层; -- 应 ...

  6. (转).net webconfig使用IConfigurationSectionHandler自定section

    自定义配置结构 (使用IConfigurationSectionHandler) 假设有以下的配置信息,其在MyInfo可以重复许多次,那么应如何读取配置呢?这时就要使用自定义的配置程序了.<m ...

  7. 測试之路2——对照XML文件1

    才来几天,老大又给了我一个新的任务.不像曾经的建100个任务project那么坑爹,却还是顿时让我感觉压力山大. 由于在这之前,我改了他写的例程,用于生成新的任务项目,事实上任务项目就是通过XML文件 ...

  8. android activity 后的形式 藏

    activity 希望的形式 于AndroidManifest.xml  建立 theme 属性 <activity             android:name="zicox.u ...

  9. HDU 3415 Max Sum of Max-K-sub-sequence 最长K子段和

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=3415 意甲冠军:环.要找出当中9长度小于等于K的和最大的子段. 思路:不能採用最暴力的枚举.题目的数据量是 ...

  10. HDU 4303 Hourai Jeweled 树dp 所有权利和航点 dfs2次要

    意甲冠军: long long ans = 0; for(int i = 1; i <= n; i++) for(int j = i+1; j <= n; j++) ans += F(i, ...