iT邦幫忙

2022 iThome 鐵人賽

DAY 28
0
自我挑戰組

C# 和 SQL 探索之路系列 第 28

Day 28: 寫出好讀的 SQL

  • 分享至 

  • xImage
  •  

大家好,今天第 28 天囉,繼續加油 ~

為了讓其它人 (或好幾個月後的自己) 接手維護時能更加方便,一般在軟體開發時 (ex. 寫 C, C#, Java …) 會被要求寫得容易閱讀,而 SQL 的查詢語法,也可透過幾個簡易規則寫得容易閱讀。

以下的規則,是摘錄自 Creating readable SQL. · Vicki Boykis。裡面的規則十分易於遵守,也能寫出更為好讀的程式碼,推薦給大家。

規則

  1. 盡可能讓 SQL的指令關鍵字 (ex. SELECT, WHERE) 獨立一行,不要全部黏在一起。
  2. 以大寫撰寫指令關鍵字,如 SELECT, WHERE 等,更易於和欄位、資料表名稱等做出區別。
  3. 試著減少子查詢的數量,減少修改查詢時的困難。
  4. 撰寫註解 - 無論在哪種程式語言都很重要。
  5. 使用短而精確的表格別名。
  6. 在子查詢上使用縮排。
  7. 如果查詢的語法過長時,可考慮建立新表格存放資料。

補充與範例

除了以上的規則外,仍應配合開發團隊內的規定,或約定俗成的撰寫模式。

以下是包含規則 1, 2, 4, 6 的 SQL 查詢語法。

 -- 使用 DELETE FROM 刪除表格 1 中不包含在表格 2 內的資料
DELETE FROM [Table_1]
WHERE RowID IN (
    SELECT RowID FROM [Table_1]
    WHERE RowID NOT EXISTS IN (
        SELECT ID FROM [Table_2]
    )
)

上一篇
Day 27: SQL 語法: FOR XML PATH
下一篇
Day 29: 讀書心得: SQL 達人的工作現場攻略筆記
系列文
C# 和 SQL 探索之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言