程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> 一些實用的sql語句

一些實用的sql語句

編輯:關於Oracle數據庫
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;
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved