做項(xiàng)目時(shí)哪些是容易被忽略的SQL語句
1 NOT關(guān)鍵字我們很多時(shí)候都將NOT 和LIKE 關(guān)鍵字組合成NOT LIKE 來使用。但忘記了NOT自己也可以單獨(dú)使用, 可以用來否定隨后的表達(dá)式。例:SELECT * FROM CLPatientRecord WHERE NOT CLPatientRecord.CLPRPatientSex='1' (搜索性別不為1的病人,1為男性,2 為女生)
2 檢測(cè)NULL值。
檢測(cè)某一個(gè)值是為為NULL,記得用 IS NULL,不為NULL,則用IS NOT NULL.
3 LIKE和通配符% 表示包含零個(gè)或多個(gè)字符的任意字符串_ 表示任命單個(gè)字符[] 指定范圍或列表中的任何單個(gè)字符[^]指定不在指定范圍中的任何單個(gè)字符 例:SELECT * FROM CLPatientRecord WHERE CLPatientRecord.CLPRPatientSex like '^[1,2]'如果要在字符串中搜索百分號(hào)%或下劃線_的字面值,即不是當(dāng)作轉(zhuǎn)義值來使用,那么可以使用ESCAPE運(yùn)算符。 例:SELECT ProductID,Name From Producation.Product WHERE Name LIKE '%/_%' ESCAPE '/' (搜索產(chǎn)品名中存在文字_值的產(chǎn)品)
SELECT ProductID,Name From Producation.Product WHERE Name LIKE '%\_%' ESCAPE '\'
4 在TOP 關(guān)鍵字中使用百分比我們習(xí)慣了使用 TOP 10,TOP 100,確很少使用TOP 1 PERCENT,(取記錄中的1%),如SELECT TOP 1 PERCENT * FROM CLPatientRecord
5 AVG函數(shù)忽略NULL值,但COUNT函數(shù)不忽略。
6 HAVING 關(guān)鍵字WHERE子句用來限定數(shù)據(jù)聚合或分組之前的返回行,而HAVING子句用來限定聚合或分組之后的數(shù)據(jù)。所以,HAVING子句中的列名必須包含在GROUP BY 中。例:SELECT CLPRPatientSex, COUNT(*) FROM CLPatientRecord WHERE CLPatientRecord.CLPRBirthDate between '1988/01/01' and '1990/09/25' group by all CLPRPatientSex having CLPRPatientSex like '1'
7 使用DISTINCT消除重復(fù)值SELECT DISTINCT HirDate From Employee確認(rèn)只有在真正需要或有必要時(shí)使用DISTINCT,因?yàn)樗鼤?huì)讓較大結(jié)果集的查詢速度減慢。
在聚合函數(shù)中使用DISTINCT.例:計(jì)算產(chǎn)品列表的平均價(jià)格,你會(huì)使用: SELECT AVG(ListPrice) FROM Product這個(gè)查詢計(jì)算的是基于所有產(chǎn)品的平均列表價(jià)格。如果一些產(chǎn)品類型比其他多很多會(huì)怎么樣呢?如果只對(duì)唯一價(jià)格點(diǎn)的平均價(jià)格感興趣呢。你會(huì)希望寫下面的查詢:SELECT AVG( DISTINCT ListPrice) FROM Product它先返回唯一的一組價(jià)格點(diǎn),然后計(jì)算它們的平均值。
8 使用INTO 子句SELECT……INTO TableA FROM TableB (數(shù)據(jù)庫中必須存在TableB ,不存在TableA.)
SELECT * INTO TableA FROM TableB 將B表中的數(shù)據(jù)插入到A表中SELECT * INTO TableA FROM TableB WHERE 1=0 .根據(jù)B表的結(jié)構(gòu)創(chuàng)建A表,但沒有數(shù)據(jù),但A表不包含B表中定義的外鍵等。
本文由站河南北大青鳥校區(qū)整編而成,如需了解更多IT資訊類的文章、新聞、課程和學(xué)習(xí)技巧、就業(yè)案例、招生詳情等問題,可以對(duì)在線咨詢老師進(jìn)行一對(duì)一問答!
推薦資訊
- 鄭州北大青鳥拓寬大學(xué)生就業(yè)之路... 2014-04-03
- 鄭州IT培訓(xùn):教育應(yīng)屆生如何準(zhǔn)備... 2012-10-13
- 鄭州北大青鳥計(jì)算機(jī)課程怎么樣呢... 2023-02-22
- 鄭州北大青鳥告訴你:基礎(chǔ)不是很... 2013-05-30
- 北大青鳥招生標(biāo)準(zhǔn)... 2012-12-07
熱點(diǎn)資訊
- 電腦溫度多少是正常的情況呢?... 2018-09-07
- 四個(gè)策略及簡(jiǎn)單的防護(hù)方法... 2018-09-07
- 對(duì)硬盤進(jìn)行雙分區(qū)有什么好處... 2018-09-07
- 文件加密的幾個(gè)簡(jiǎn)單方法... 2018-09-07
- 計(jì)算機(jī)小技巧,80G硬盤巧變變成... 2018-09-07