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

Oracle
oracle sys_connect_by_path 函数 结果集连接
oracle join on 数据过滤问题
Oracle 当前用户下所有表的记录总数
oracle 树查询 语句
oracle 触发器 实现出入库
Oracle 函数大全
oracle 删除重复数据
ORACLE 最大连接数的问题
oracle 层次化查询(行政区划三级级联)
oracle 查询表名以及表的列名
Oracle 数据显示 横表转纵表
oracle 服务启动,关闭脚本(windows系统下)
ORCLE 表中列的修改
oracle 数据库连接分析
Oracle 实现类似SQL Server中自增字段的一个办法
Oracle 常用的SQL语句
Oracle 数组的学习 小知识也要积累,养成好的学习态度
Oracle 日期的一些简单使用
Oracle 数据库连接查询SQL语句
Oracle DBA常用语句

Oracle 中的 一些实用的sql语句


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 207 ::
收藏到网摘: 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;