成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何更優雅的寫出你的SQL語句

數據庫 SQL Server
在本文中,我將向您展示一些我過去嘗試過的編寫風格,介紹它們的優缺點以及我認為最好的SQL查詢編寫方式。除非你有很好的理由不使用我推薦的風格,例如:你有更好的風格,或者你想堅持項目中一直使用的風格(一致性壓倒一切),沒有理由不使用它。

[[236358]]

毫無疑問,編寫代碼是一門藝術而非科學,沒有程序員可以編寫出既可讀又可維護的漂亮代碼,即使有經驗也是如此。

一般來說,當您學習編碼的藝術時,編碼水平會隨著經驗而提高,例如,你會變得更喜歡組合而不是繼承或更喜歡接口而不是實現,但是只有少數開發人員能夠掌握這些技術。

SQL查詢也是如此。您構建查詢的方式,您編寫它的方式,如果正確的話,可以很好地將您的意圖傳達給其他開發人員。

常常,在我看到來自多個開發人員的電子郵件中的SQL查詢時,我能看出他們的編寫風格的顯著差異。一些開發人員編寫得非常整潔,并且對查詢進行了適當的縮進,這使得很容易發現關鍵細節,例如,從哪個表中提取哪些列以及哪些是條件。

因為在實際的項目中,SQL查詢并不是單行的,所以當您需要以后閱讀這些SQL查詢或需要將該查詢共享給某人進行檢查或執行時,這種情況下,學習正確的編寫SQL查詢的方式會帶來很大的不同。

在本文中,我將向您展示一些我過去嘗試過的編寫風格,介紹它們的優缺點以及我認為***的SQL查詢編寫方式。

除非你有很好的理由不使用我推薦的風格,例如:你有更好的風格,或者你想堅持項目中一直使用的風格(一致性壓倒一切),沒有理由不使用它。

順便說一句,我希望您熟悉SQL,了解SQL查詢中的不同子句及其含義。如果不是,你***通過參加一個很好的課程來獲得SQL經驗,比如:

From 0 To 1:SQL And Databases — Heavy Lifting by Loony Corn

Introduction to SQL by Jon Flanders

我強烈推薦后者。

***種寫SQL的方式

 

  1. SELECT e.emp_id, e.emp_name, d.dept_name, p.project_name from Employee e  
  2. INNER JOIN Department d ON e.dept_id = d.dept_id INNER JOIN Projects p  
  3. ON e.project_id = p.project_id Where d.dept_name="finance" and e.emp_name  
  4. like '%A%' and e.salary > 5000; 

優點:

  • 1)使用了大小寫混合將關鍵字從列和表名之間分開,如SELECT使用大寫,而Employee使用首字母大寫,但如果你喜歡一致性的話,可以讓from關鍵字也大寫,沒有研究只顯示那種寫法更好。

 

缺點:

  • 1)大小寫混合
  • 2)整個查詢寫在一行上,一旦表和列的數量增加,這一行就不可讀了
  • 3)在添加新條件或刪掉條件時沒有靈活性

第二種書寫SQL查詢的方式

 

  1. SELECT e.emp_id, e.emp_name, d.dept_name, p.project_name 
  2. from Employee e 
  3. INNER JOIN Department d ON e.dept_id = d.dept_id 
  4. INNER JOIN Projects p ON e.project_id = p.project_id 
  5. Where d.dept_name="finance"  
  6. and e.emp_name like '%A%'  
  7. and e.salary > 500; 

改進:

  • 1) SQL查詢被劃分為多行,使其更具可讀性

問題

  • 1)大小寫混合
  • 2) where子句上的所有條件位于同一行上,也就是說通過注釋排除它們不是那么容易。

如何更優雅的寫出你的SQL語句

第三種書寫SQL的方式,也是做好的一種

 

  1. select e.emp_id, e.emp_name, d.dept_name 
  2. from Employee e 
  3. inner join Department d on e.dept_id = d.dept_id 
  4. where d.dept_name = 'finance' 
  5. and e.emp_name like '%A%' 
  6. and e.salary > 500; 
  • 1)將SQL查詢劃分為多行可以提高可讀性
  • 2)使用適當的縮進可以很容易地找到數據源,例如表和join
  • 3)讓條件語句都放在單獨的行上,可以容易的注釋掉某個條件進行調試。

 

  1. select e.emp_id, e.emp_name, d.dept_name 
  2. from Employee e 
  3. inner join Department d on e.dept_id = d.dept_id 
  4. where d.dept_name = 'finance' 
  5. -- and e.emp_name like '%A%'; 
  6. add e.salary > 5000 

順便說一句,如果您喜歡用大寫字母表示關鍵字,您還可以編寫如下所示的相同的SQL查詢,這些規則是相同的,只是關鍵字是大寫字母。

如何更優雅的寫出你的SQL語句

這就是我要說的如何編寫可讀和更易于維護的SQL查詢。對于SQL查詢的縮進或樣式化,您有什么看法?

這是一種簡單的技術,但非常強大,對于提高涉及多個連接的復雜SQL查詢的可讀性大有幫助,如我前面的示例所示。

如果您喜歡,也可以在網上使用各種SQL格式器,但我建議您學習一種樣式并堅持使用它,而不是依賴于格式器。

感謝閱讀本文,請讓我們知道如何編寫SQL查詢?你用的是哪種風格,還是你有自己的風格?如果您是初學者和學習SQL,您會發現我的免費SQL課程和書籍列表對你會有幫助。

責任編輯:未麗燕 來源: 程序師
相關推薦

2022-03-11 12:14:43

CSS代碼前端

2021-12-13 14:37:37

React組件前端

2021-12-07 08:16:34

React 前端 組件

2010-08-16 10:10:22

SQL腳本

2022-09-08 07:32:56

JDK7程序管理

2023-12-21 10:26:30

??Prettier

2024-05-24 10:51:51

框架Java

2022-05-13 08:48:50

React組件TypeScrip

2020-04-03 14:55:39

Python 代碼編程

2022-03-08 06:41:35

css代碼

2019-09-29 16:17:25

Java代碼性能編程語言

2022-09-27 15:34:05

VSCode插件開發

2021-01-04 05:46:08

代碼編程重構

2024-08-20 14:25:20

2019-09-20 15:47:24

代碼JavaScript副作用

2022-04-10 10:41:17

ESLint異步代碼

2021-01-04 07:57:07

C++工具代碼

2016-12-15 09:58:26

優化SQL高性能

2017-07-12 13:04:23

數據庫SQL查詢執行計劃

2023-11-23 13:50:00

Python代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 深夜福利亚洲 | 国产精品美女久久久久久免费 | 亚洲视频三| 91精品久久久久久久久中文字幕 | 欧美三级视频在线观看 | 亚洲综合一区二区三区 | 综合久久一区 | 国产小视频自拍 | caoporn国产精品免费公开 | 国产成人99久久亚洲综合精品 | 成人欧美一区二区三区视频xxx | 我爱操 | 成人片免费看 | 精品国产一区二区三区免费 | 成人小视频在线观看 | 国产精品三级久久久久久电影 | 91 在线| 亚洲欧美日韩成人在线 | 国产一区亚洲 | 久久精品com | 中文字幕精品视频 | 激情一区二区三区 | 欧美视频三区 | 国产精品久久久久一区二区三区 | 91精品国产色综合久久 | 精品国产乱码久久久久久中文 | 欧美精品一区在线发布 | 国产精品国产精品国产专区不片 | 精品日韩一区 | 精品综合视频 | 国产欧美精品一区二区色综合 | 亚洲精品综合 | 欧美三级三级三级爽爽爽 | 欧洲一区在线观看 | 蜜臀网| 色视频www在线播放国产人成 | av天天爽 | 免费看黄色视屏 | 国产成人精品一区二区三区四区 | 国产区在线免费观看 | 亚洲欧美综合网 |