sql整理

1. select XM as name from DA_GRJBXX t /*爲字段名賦別名
select 'zhangsan' as XM from DA_GRJBXX t /*查詢出所有的XM字段值都賦值爲'zhangsan'


2.do-while 和 while 循環非常相似,區別在於表達式的值是在每次循環結束時檢查而不是開始時


3.
jion 只顯示連接上的行 , 等同與 inner jion , 返回兩表交集的部分
natural jion 自然連接,內連接的一種,選擇相同的字段和類型匹配連接 
left jion 返回左表的所有行,如果右表中的無數據字段則爲null,等同於 left outer jion
right jion 返回右表的所有行,若果左表中無數據字段則爲null,等同於 right outer jion
full jion 返回兩張表的所有行,表中無數據字段爲null,等同於 full outer jion


union
select * from student where id < 4
union
select * from student where id > 2 and id < 6; 
union 可以將多個查詢產生的結果集合併成一個結果集
每一個查詢必須有類似的數據、相同的字段數目,並且在選擇列表中字段順序相同
union去除重複記錄,union all不去重

union相當於distinct掉重複記錄,效率低下


4.NVL( string1, replace_with)
功能:如果string1爲NULL,則NVL函數返回replace_with的值,否則返回string1的值。
oracle中用"||"符號將字符串連接
replace(x,y,z)返回值爲將串X中的Y串用Z串替換後的結果字符串。若省略Z參數,則將串X中爲Y串的地方刪除
wm_concat(name) 把查詢出來的結果用逗號連接 -----:是組函數,同count(),avg()
replace(wm_concat(name),',','|')把逗號改成 | 號
TO_CHAR(2.000,'FM999') 轉換後前面沒有空格
TO_CHAR(2.000,'999') 轉換後前面有兩位空格 
如果小數點前面的字符大於小數點前999的長度,則會出現#號
select trunc(sysdate) from dual --2011-3-18 今天的日期爲2011-3-18


5.CDATA是XML標記語言的語法成分,代表‘字符數據’Character Data
也就說明你那代碼不是HTML而是XHTML文檔。
CDATA標籤中字符文本是不作爲html被再次轉義的。
比如'& nbsp;'將不像其他地方那樣被轉換成空格。通常CDATA裏面放一些‘一字不改的數據’,
比如源代碼,比如Javascript源碼。

7.存儲過程,存儲函數
函數可以在sql語句中直接調用,過程不可以
也就是說在調用存儲過程時,在存儲過程前一定要有EXEC保留字(在命令行窗口)
函數必須有1個返回值,過程可以有可以沒有,是通過out參數返回的,return的返回值只是指明執行是否成功
函數一般情況下是用來計算返回一個計算結果,
過程一般是來完成特定的數據操作,比如修改插入數據表
例如:
顯示一張工資的統計表或修改員工工資可以設計成存儲過程,
根據僱員編號返回僱員的姓名,可以設計成存儲函數



9.按姓名字段爲BD_YWRYDM表去重
select * from (select row_number() over(partition by p.XM order by p.ZXID desc) hs, p.*
from BD_YWRYDM p) t where t.hs = 1


10.分組後的查詢結果都逗號連接顯示在一列
select t.csgfbh,t.csgfmc,t.csgfbbh,wm_concat(sj.sjjmc) 
from UC_CSGFXX t left join UC_SJJXX sj on sj.csgfbh=t.csgfbh
group by t.csgfbh,t.csgfmc,t.csgfbbh


11.生成隨機數
SELECT SYS_GUID() FROM DUAL;

12,序列的方式插入字段值 

先創建序列  CREATE SEQUENCE seq_BBSJ;

insert into BBSJ (BBSJID, ZXTDM, ZXTMC, ZBBH, XMLSH, GNSJBBH, BYLSH, FBRQ, YHID, XTLX)
values (seq_BBSJ.nextval, 'DAG', 'DAG', 1, 1, 1, 1, to_date('22-10-2014 13:07:28', 'dd-mm-yyyy hh24:mi:ss'), 1, '1');

13.遞歸查詢

select * from hcm_resource t
start with id = '900c7619b65f4df68958c8c8019b454b'
connect by prior pid = id
order by t.levels


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章