做項(xiàng)目時哪些是容易被忽略的SQL語句
1 NOT關(guān)鍵字我們很多時候都將NOT 和LIKE 關(guān)鍵字組合成NOT LIKE 來使用。但忘記了NOT自己也可以單獨(dú)使用, 可以用來否定隨后的表達(dá)式。例:SELECT * FROM CLPatientRecord WHERE NOT CLPatientRecord.CLPRPatientSex='1' (搜索性別不為1的病人,1為男性,2 為女生)
2 檢測NULL值。
檢測某一個值是為為NULL,記得用 IS NULL,不為NULL,則用IS NOT NULL.
3 LIKE和通配符% 表示包含零個或多個字符的任意字符串_ 表示任命單個字符[] 指定范圍或列表中的任何單個字符[^]指定不在指定范圍中的任何單個字符 例:SELECT * FROM CLPatientRecord WHERE CLPatientRecord.CLPRPatientSex like '^[1,2]'如果要在字符串中搜索百分號%或下劃線_的字面值,即不是當(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)只有在真正需要或有必要時使用DISTINCT,因?yàn)樗鼤屳^大結(jié)果集的查詢速度減慢。
在聚合函數(shù)中使用DISTINCT.例:計(jì)算產(chǎn)品列表的平均價(jià)格,你會使用: SELECT AVG(ListPrice) FROM Product這個查詢計(jì)算的是基于所有產(chǎn)品的平均列表價(jià)格。如果一些產(chǎn)品類型比其他多很多會怎么樣呢?如果只對唯一價(jià)格點(diǎn)的平均價(jià)格感興趣呢。你會希望寫下面的查詢: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è)案例、招生詳情等問題,可以對在線咨詢老師進(jìn)行一對一問答!
推薦資訊
- 高考落榜沒有學(xué)校上怎么辦?... 2012-10-13
- 北大青鳥翔天信鴿你就業(yè)路上的經(jīng)... 2012-10-13
- 停課不停學(xué),鄭州北大青鳥翔天信... 2020-02-05
- 2013年php好找工作嗎... 2013-02-21
- 青鳥Linux:如何建立只允許FTP登陸... 2012-10-13
熱點(diǎn)資訊
- 電腦溫度多少是正常的情況呢?... 2018-09-07
- 四個策略及簡單的防護(hù)方法... 2018-09-07
- 對硬盤進(jìn)行雙分區(qū)有什么好處... 2018-09-07
- 文件加密的幾個簡單方法... 2018-09-07
- 計(jì)算機(jī)小技巧,80G硬盤巧變變成... 2018-09-07