当前位置: 首页 > 图文教程 > 数据库 > Oracle > 一些实用的sql语句

Oracle
浅谈Oracle数据库SCN号
浅谈DBMS_SCHEDULER如何使用
数据丢失 Oracle闪回
Oracle教程:完全备份的SH文件
Oracle服务器参数文件管理技巧
Oracle认证:向视图中插入数据的方法
Oracle教程:Oracle基础知识整理
使用Java和oracle实现BLOB字段的字符串读取
Oralce 9i安装OID目录服务器说明
Oracle 11gR2重要的4个新特性说明
OpenCalais:为Oracle数据库添加语义元数据为Oracle数据库添加语义元数据
phpBB 3.0.6 RC1简单介绍和下载
Oracle:oracle的体系结构,你了解多少?
怎样才能限制SQL Server只能让指定的机器连接
有关Oracle数据库的备份情况
ORACLE8的分区管理
常见数据库系统之比较 - Oracle数据库
在ORACLE中移动数据库文件
ORACLE常见错误代码的分析与解决(三)
Oracle中如何直接运行OS命令(上)

Oracle 中的 一些实用的sql语句


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 197 ::
收藏到网摘: n/a

一些实用的sql,需要的朋友可以参考下。 1.查询高于平均价格的商品名称:
SELECT item_name FROM ebsp.product_market_price WHERE item_price > (SELECT AVG(item_price) FROM ebsp.product_market_price
2.oracle9i以上版本,可以实现将某张表的数据同时插入到多张表中。例:
复制代码 代码如下:

INSERT ALL
WHEN deptno=10 THEN INTO dept10 --部门编号为10的插入表dept10中
WHEN deptno=20 THEN INTO dept20
WHEN deptno=30 THEN INTO dept30
WHEN job='CLERK' THEN INTO clerk --岗位为CLERK的插入表clerk 中
ELSE INTO other
SELECT * FROM emp;

可以将前面的sql语句变为INSERT FIRST 后面不变,当使用First操作符执行多表插入时,如果数据已经满足了先前的条件,并且已经被插入到某表中,那么该行数据在后续的插入中将不会被再次使用。
3.截取字符串制定的长度。
复制代码 代码如下:

select substr(item_name,0,2) from ebsp.product_market_price
select substr(‘ho鲜红的鲜花 ',0,3) from dual; --print ‘ho鲜'

获得emp系统表中hiredate雇佣日期,有重复的记录,也就是一天中雇佣多名员工的记录。
复制代码 代码如下:

SQL1: select * from scott.emp where hiredate in (select hiredate mycount from scott.emp group by hiredate having count(*) >1)
SQL2:select t2.* from scott.emp t2 ,
(select t.hiredate,count(*) mycount from scott.emp t group by t.hiredate having count(*) >1) t1
where t2.hiredate = t1.hiredate

如果hiredate存入数据库中时日期型带有时分秒,可以通过to_char(CREATE_DATE, 'YYYY-MM-DD')来代替上面的
4.修改oracle数据库缓存大小,以system登陆:
复制代码 代码如下:

alter system set db_cache_size = 700m scope = spfile;
alter system set shared_pool_size = 200m scope=spfile;
alter system set pga_aggregate_target = 100m scope=spfile;