1.表和数据恢复

1、从回收站里查询被删除的表

select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin;

2.执行表的恢复语句

flashback table tableName to before drop;  tableName需要恢复的表名

2.数据库优化

  1.避免使用select *

  2、使用表的别名

  3、用Exists 替代 in

--糟糕的查询
SELECT column_name FROM table_name1 WHERE column_name IN( SELECT column_name FROM table_name2)
---较好的查询
SELECT column_name FROM table_name1 outer WHERE EXISTS (SELECT 1 FROM table_name2 inner WHERE inner.column_name = outer.column_name) 4、用not exists 替代 not in
---较好的查询
select columnname,columnname1 from Table_Name1 t1,Table_Name2 t2 where t1.id=t2.id and t2.name<>'A'
---更好的查询
select columnname,columnname1 from Table_Name1 t1 where not exists(select 1 from Table_Name2 t2 where t2.id=t1.id and t2.name='A')
5、用exists替换distinct
当提交一个包含一对多表信息(比如部门表和雇员表)的查询时,避免在select字句中使用distinct。一般可以考虑用Exists替换。Exists使查询更为迅速,因为RDBMS核心模块将在子查询的条件一旦满足后,立刻返回结果。
--糟糕的查询
SELECT DISTINCT t1.column_name
FROM table_name1 t1, table_name2 t2
WHERE t1.column_name = t2.column_name;
---较好的查询
SELECT column_name
FROM table_name1 outer
WHERE EXISTS
(SELECT 1
FROM table_name2 inner
WHERE inner.column_name = outer.column_name)
6、用>=替换>
---糟糕的查询
select * from EMP where id>3;
//较好的查询
select * from EMP where id>=4;
两者的区别在于,后者将直接跳转到第一个id等于4的记录而前者将首先定位到id=3的记录并且向前扫描到第一个id大于3的记录。

3.on和where的执行方式解析:

1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。

2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。

4.oracle认为 null 最大

升序排列,默认情况下,null值排后面。

降序排序,默认情况下,null值排前面。

5.如果查询出comm查询出为空值就用0替代,不为零则使用comm值

select ename,sal*13+nvl(comm,0)*13 "年工资" from emp;

6.Oracle中语句 赋值和循环写法

declare
i int:=1; //初始化 赋值(:=)
begin
loop  //开始循环
exit when i>10;
DBMS_OUTPUT.PUT_LINE('编号为'||i);
i:=i+1;//相当于i++
end loop;//结束循环
end;



 

最新文章

  1. Git命令参考手册(文本版)
  2. [NHibernate]关联映射
  3. QTP学习笔记之—VBS
  4. java基础题目总结
  5. slatsatck file模块2种写法及系统初始化
  6. .net学习笔记---HttpRuntime类
  7. android监听屏幕打开关闭广播无响应的情况
  8. SqlSever基础 right函数 从右边开始,截取字符串
  9. uva 10158
  10. Android开发手记(12) Menu的使用
  11. php 如何写入、读取word,excel文档
  12. hdu 4059 The Boss on Mars 容斥
  13. 【树状数组】 poj 2352
  14. Python爬虫入门 Urllib库的基本使用
  15. Threejs 开发3D地图实践总结
  16. 201521123033《Java程序设计》第2周学习总结
  17. Cocos Creator 资源加载流程剖析【二】——Download部分
  18. Python实现RSA无填充加密,兼容BouncyCastle
  19. 获取Button脚本挂载的事件名
  20. ASP.Net Core 2.2 MVC入门到基本使用系列 (四)(转)

热门文章

  1. 三种常见字符编码简介:ASCII、Unicode和UTF-8
  2. PHP中的MVC
  3. Google研究员Ilya Sutskever:成功训练LDNN的13点建议
  4. NXP LPC11xx I2C Slave 从机程序
  5. 如何给div加一个边框border样式
  6. linux系统开机过程描述
  7. UVA- 1504 - Genghis Khan the Conqueror(最小生成树-好题)
  8. OSGI在Eclipse中执行-console出错的问题
  9. FZYZOJ-1880 【UFO】水管
  10. Java Topology Suite (JTS)与空间数据模型