一些實(shí)用的sql語(yǔ)句
更新時(shí)間:2009年11月09日 17:33:15 作者:
一些實(shí)用的sql,需要的朋友可以參考下。
1.查詢高于平均價(jià)格的商品名稱:
SELECT item_name FROM ebsp.product_market_price WHERE item_price > (SELECT AVG(item_price) FROM ebsp.product_market_price
2.oracle9i以上版本,可以實(shí)現(xiàn)將某張表的數(shù)據(jù)同時(shí)插入到多張表中。例:
INSERT ALL
WHEN deptno=10 THEN INTO dept10 --部門編號(hào)為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語(yǔ)句變?yōu)镮NSERT FIRST 后面不變,當(dāng)使用First操作符執(zhí)行多表插入時(shí),如果數(shù)據(jù)已經(jīng)滿足了先前的條件,并且已經(jīng)被插入到某表中,那么該行數(shù)據(jù)在后續(xù)的插入中將不會(huì)被再次使用。
3.截取字符串制定的長(zhǎng)度。
select substr(item_name,0,2) from ebsp.product_market_price
select substr(‘ho鮮紅的鮮花 ',0,3) from dual; --print ‘ho鮮'
獲得emp系統(tǒng)表中hiredate雇傭日期,有重復(fù)的記錄,也就是一天中雇傭多名員工的記錄。
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存入數(shù)據(jù)庫(kù)中時(shí)日期型帶有時(shí)分秒,可以通過(guò)to_char(CREATE_DATE, 'YYYY-MM-DD')來(lái)代替上面的
4.修改oracle數(shù)據(jù)庫(kù)緩存大小,以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;
SELECT item_name FROM ebsp.product_market_price WHERE item_price > (SELECT AVG(item_price) FROM ebsp.product_market_price
2.oracle9i以上版本,可以實(shí)現(xiàn)將某張表的數(shù)據(jù)同時(shí)插入到多張表中。例:
復(fù)制代碼 代碼如下:
INSERT ALL
WHEN deptno=10 THEN INTO dept10 --部門編號(hào)為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語(yǔ)句變?yōu)镮NSERT FIRST 后面不變,當(dāng)使用First操作符執(zhí)行多表插入時(shí),如果數(shù)據(jù)已經(jīng)滿足了先前的條件,并且已經(jīng)被插入到某表中,那么該行數(shù)據(jù)在后續(xù)的插入中將不會(huì)被再次使用。
3.截取字符串制定的長(zhǎng)度。
復(fù)制代碼 代碼如下:
select substr(item_name,0,2) from ebsp.product_market_price
select substr(‘ho鮮紅的鮮花 ',0,3) from dual; --print ‘ho鮮'
獲得emp系統(tǒng)表中hiredate雇傭日期,有重復(fù)的記錄,也就是一天中雇傭多名員工的記錄。
復(fù)制代碼 代碼如下:
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存入數(shù)據(jù)庫(kù)中時(shí)日期型帶有時(shí)分秒,可以通過(guò)to_char(CREATE_DATE, 'YYYY-MM-DD')來(lái)代替上面的
4.修改oracle數(shù)據(jù)庫(kù)緩存大小,以system登陸:
復(fù)制代碼 代碼如下:
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;
相關(guān)文章
ORACLE隨機(jī)數(shù)DBMS_RANDOM包
這篇文章主要介紹了ORACLE隨機(jī)數(shù)DBMS_RANDOM包,通過(guò)dbms_random包調(diào)用隨機(jī)數(shù)的方法大致有4種,具體哪4種請(qǐng)看本篇文章吧2015-09-09
教你設(shè)計(jì)大型Oracle數(shù)據(jù)庫(kù)
表及索引的存儲(chǔ)容量估算是根據(jù)其記錄長(zhǎng)度及估算的最大記錄數(shù)確定的。在容量計(jì)算中考慮了數(shù)據(jù)塊的頭開銷及記錄和字段的頭開銷等等。表及索引的initial和next存儲(chǔ)參數(shù)一般設(shè)為相等,pctincrease設(shè)為0。2009-06-06
Oracle實(shí)現(xiàn)透明數(shù)據(jù)加密的代碼示例
透明數(shù)據(jù)加密(TDE)是一種用于保護(hù)數(shù)據(jù)庫(kù)中靜態(tài)數(shù)據(jù)的加密技術(shù),TDE通過(guò)自動(dòng)加密數(shù)據(jù)庫(kù)文件和日志文件,確保數(shù)據(jù)在磁盤上是加密的,從而防止未經(jīng)授權(quán)的訪問(wèn),以下以 Microsoft SQL Server 為例,實(shí)現(xiàn) TDE 的步驟和代碼示例,需要的朋友可以參考下2024-09-09
Oracle 11g如何清理數(shù)據(jù)庫(kù)的歷史日志詳解
這篇文章主要給大家介紹了關(guān)于Oracle 11g如何清理數(shù)據(jù)庫(kù)歷史日志的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07

