一、
乙個以數字符號(#)開頭的識別符號代表乙個臨時表或者過程。
乙個以兩個數字符號(##)開頭的識別符號標識的是乙個全域性臨時物件
create table #matchresult
(gbid varchar(40),
orgno varchar(12),
orgname varchar(100),
scene varchar(12),
scenename varchar(100))二、
儲存過程 with子查詢
是用來定義乙個sql片斷,該sql片斷會被整個sql語句所用到。
這個語句算是公用表表示式(cte)。
1.使用with子句可以讓子查詢重用相同的with查詢塊,通過select呼叫(with子句只能被select查詢塊引用),一般在with查詢用到多次情況下。在引用的select語句之前定義,同級只能定義with關鍵字只能使用一次,多個用逗號分割。
2.with子句的返回結果存到使用者的臨時表空間中,只做一次查詢,反覆使用,提高效率。
3.在同級select前有多個查詢定義的時候,第1個用with,後面的不用with,並且用逗號隔開。
4.最後乙個with 子句與下面的查詢之間不能有逗號,只通過右括號分割,with 子句的查詢必須用括號括起來
5.如果定義了with子句,而在查詢中不使用,那麼會報ora-32035 錯誤:未引用在with子句中定義的查詢名。
(至少乙個with查詢的name未被引用,解決方法是移除未被引用的with查詢),
注意:只要後面有引用的就可以,不一定非要在主查詢中引用,比如後面的with查詢也引用了,也是可以的。
6.前面的with子句定義的查詢在後面的with子句中可以使用。但是乙個with子句內部不能巢狀with子句。
7.當乙個查詢塊名字和乙個表名或其他的物件相同時,解析器從內向外搜尋,優先使用子查詢塊名字。
8.with查詢的結果列有別名,引用的時候必須使用別名或*。
with的例子
三、select bulkcolumn from openrowset(bulk 'd:\kedasb\kdsbxx.xml', single_blob) as x
sp_xml_preparedocument
sys.sp_xml_removedocument
sp_xml_preparedocument
四、select into from 和 insert into select都是用來複製表,
兩者的主要區別為: select into from 要求目標表不存在,因為在插入時會自動建立。
insert into select from 要求目標表存在
五、case when then
六、isnull
七、charindex作用
寫sql語句我們經常需要判斷乙個字串中是否包含另乙個字串,但是sql server中並沒有像c#提供了contains函式,
不過sql server中提供了乙個叫chaeindx的函式,顧名思義就是找到字元(char)的位置(index),
既然能夠知道所在的位置,當然就可以判斷是否包含在其中了。
通過charindex如果能夠找到對應的字串,則返回該字串位置,否則返回0。
基本語法如下:
charindex ( expressiontofind , expressiontosearch [ , start_location ] )
expressiontofind :目標字串,就是想要找到的字串,最大長度為8000 。
expressiontosearch :用於被查詢的字串。
start_location:開始查詢的位置,為空時預設從第一位開始查詢。
例如:select charindex('test','this test is test')
select charindex('雲','肖錢云');
patindex
和charindex類似,patindex也可以用來判斷乙個字串中是否包含另乙個字串,兩種的差異在於,前者是全匹配,後者支援模糊匹配。
1.簡單示例
select patindex('%ter%','interesting data')
注意事項:
1、增加開始位置
select charindex('test','this test is test',7)
2、大小寫敏感
select charindex('test','this test is test'collate latin1_general_cs_as)
資料庫SQL面試知識點整理
一 什麼是儲存過程?有哪些優缺點?儲存過程是一些預編譯的sql語句。更加直白的理解 儲存過程可以說是乙個記錄集,它是由一些t sql語句組成的 塊,這些t sql語句 像乙個方法一樣實現一些功能 對單錶或多表的增刪改查 然後再給這個 塊取乙個名字,在用到這個功能的時候呼叫他就行了。儲存過程是乙個預編...
資料庫知識整理(一)
檢視 view 是從乙個或多個表 或 檢視 匯出的表。檢視與表 有時為與檢視區別,也稱表為基本表 base table 不同,檢視是乙個虛表,即檢視所對應的資料不進行實際儲存,資料庫中只儲存檢視的定義,在對檢視的資料進行操作時,系統根據檢視的定義去操作與檢視相關聯的基本表。建立檢視 create v...
mysql 資料庫知識整理
資料庫索引b 數,hash b 數是乙個平衡大多叉樹,搜尋效率基本相當 雜湊索引 採用一定的雜湊演算法,把鍵值換成新的雜湊值,檢索時不需要類似b 1 所有的非葉子節點只儲存關鍵字資訊。2 所有衛星資料 具體資料 都存在葉子結點中。3 所有的葉子結點中包含了全部元素的資訊。4 所有葉子節點之間都有乙個...