標準sql語句編寫格式規(guī)范經典實用sql寫法

上傳人:ta****fu 文檔編號:210897026 上傳時間:2023-05-18 格式:DOCX 頁數(shù):6 大小:19.95KB
收藏 版權申訴 舉報 下載
標準sql語句編寫格式規(guī)范經典實用sql寫法_第1頁
第1頁 / 共6頁
標準sql語句編寫格式規(guī)范經典實用sql寫法_第2頁
第2頁 / 共6頁
標準sql語句編寫格式規(guī)范經典實用sql寫法_第3頁
第3頁 / 共6頁

下載文檔到電腦,查找使用更方便

9.98 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《標準sql語句編寫格式規(guī)范經典實用sql寫法》由會員分享,可在線閱讀,更多相關《標準sql語句編寫格式規(guī)范經典實用sql寫法(6頁珍藏版)》請在裝配圖網上搜索。

1、項目中的那些SQL語句規(guī)范,你做到了幾條? 公司有SQL語句規(guī)范的參考文檔,這里特別做個筆記。 書寫風格 1. 語句關鍵字應全部使用小寫。 2. 引用字符時應使用單引號。 如:update testable set idcol='abcd'。 3. 連接符或運算符or、in、and、=、<=、>=, +,- 等前后宜加上一個空格。否則容易導致以下類似問題。 例如: 在語句select a–b from table中,a,b均為變量,拼寫該語句時,如果a = 6,b = -3,則語句變?yōu)閟elect 6--3 from table。--被視為SQL的注釋,結果

2、語句報錯。 4. 不得使用“select * from …”語法,必須標明字段名。即select col1, col2,… from tablea where … 5. 嚴禁使用“insert into table_name values (?,?,……)”語法,統(tǒng)一使用“insert into table_name (col1,col2,……) values (?,?,…...)”。 6. SQL語句包含多表連接時,必須加上表的別名,對每個字段的使用都要帶上表別名。 即? select? a.col1, a.col2, b.col3 from?tab

3、lea a, tableb b where?a.col4=b.col5 7. 應避免顯式或隱含的類型轉換。例如在where子句中numeric型和int型的列的比較。 8. 在子查詢中前后必須加上括號。 select? col1, col2 from?tablea where?col3?in?( ??select?col4?from?tableb ??where?col4>0 ) 9. 執(zhí)行SQL時一次應只執(zhí)行一條,如果多條語句則應分開執(zhí)行,但必須保持在一個事務中。不得一次執(zhí)行通過分號等分開的多條語句,這樣處理不清晰。 10. 如果

4、能采用or代替,則不宜使用in 語句。in語句中的元素不得超過500個,如果超過,則應拆分為多條SQL語句。嚴禁使用xx in(‘’,’’….) or xx in(‘’,’’,’’)。 11. or連接條件不得超過 500,超過時應拆分為多條語句。 性能優(yōu)化 1. 查詢時應盡量減少多余數(shù)據的讀取,通過使用where子句來減少返回的記錄數(shù)。 2. 如果在語句中有not in(in)操作,應盡量用not exists(exists)來代替。特別對大數(shù)據量的兩者檢索速度有很明顯的區(qū)別。 3. 不宜使用外連接。外連接效率低。 4. 一條SQL

5、語句中不宜使用3層以上的嵌套查詢。如果超過,則應在Java等應用服務器程序中處理。 5. 一條SQL語句中不得從4個及以上表中同時取數(shù)。僅作關聯(lián)或過濾條件而不涉及取數(shù)的表不參與表個數(shù)計算;如果必須關聯(lián)4個或4個以上表,應在Java等應用服務器程序中處理。 6. 應盡量避免使用order by和group by排序操作,如必須使用排序操作,盡量建立在有索引的列上。因為大量的排序操作影響系統(tǒng)性能。 7. 對索引列的比較,應盡量避免使用not 或 !=,可拆分為幾個條件。因為“not”和“!=”不會使用索引。如col1 是索引列,條件col1 !=0 可以拆分為col1

6、 >0 or col2 <0。 8. 應盡量將數(shù)據庫函數(shù)、計算表達式寫在邏輯操作符右邊。因為這些對列的操作會將導致表掃描,影響性能。 9. 在where子句中,如果有多個過濾條件,應將索引列或過濾記錄數(shù)最多的條件放在前面。 10. 能用連接方式實現(xiàn)的功能,不得用子查詢。 例如: select? name? from?customer where?customerId?in?( ?select?customerId?from?order ?where?money >?1000 ) 應該用如下語句代替: select? name? from

7、?customer inner?join?order? on?customer.customerId = order.customerId?where?order.money >?100 或? select? name? from?customer where?exists?( ?select?1?from?order? ?where?money >?1000? ?and?customer.customerId = order.customerId ) ?(這里需要注意:使用exists的效率依賴于匹配度,inner join效率比較穩(wěn)定) 11. 多

8、表關聯(lián)查詢時,寫法可遵循以下原則,這樣做有利于建立索引,提高查詢效率。 格式如下: select? sum?(t1.je) from?table1 t1, table2 t2, table3 t3 where?( t1的等值條件 and?(t1的非等值條件) and?(t2與t1的關聯(lián)條件) and?(t2的等值條件) and?(t2的非等值條件) and?(t3與t2的關聯(lián)條件) and?(t3的等值條件) and?(t3的非等值條件) ) 跨數(shù)據庫支持 1. 對于跨數(shù)據庫Java應用程序的VO映射數(shù)據庫的數(shù)據格式建議: 1) 整型字段:字段設置

9、保存為Integer或者Long 2) 數(shù)字型字段:若需要使用小數(shù)2位以上的精確計算,讀取、插入、更新使用BigDecimal類型 3) 字符型字段:讀取為String,并保存為String,插入或者更新為String 4) 時間字段:讀取為String,插入或者更新時的時間格式使用中間件統(tǒng)一處理。 2. 字符串連接應使用“||”符號,而不應使用“+”。 “+”是SQL Server語法,Oracle和DB2支持“||”,Hibernate轉化為SQL Server時,會自動將“||”轉為“+”。 3. 通配符不能使用‘[a-c]%’這種形式。 應寫成如: se

10、lect? col1, col2?from? table_name where?col1?like?'[a]%'? OR?col1?like?'[b]%'? OR?col1?like?'[c]%' 4. 截取字符串長度函數(shù)應使用substr,起始位置為1表示從頭開始。因為db2中substr起點為1,0會報錯;在SqlServer數(shù)據庫中使用的是substring需要進行轉換。 5. 不得通過select percent n和select top n限制查詢結果集的記錄數(shù)。 6. join 與on 必須嚴格匹配,嚴禁出現(xiàn)沒有on的join。 7. join…on 后面不宜使用or,如果使用則需將or的范圍用( )括起來。 8. 不得使用select into 的格式。Select into是SQL Server特有語法,因為Oracle和DB2不支持。 9. 應將Null值與空字符串(長度為零的字符串)視為不同。雖然Oracle視Null與空字符串為相同,但DB2和SQL Server卻視為不同。

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲