看ERP 裡的SQL寫法就知道他是不是菜鳥了
今天在公司上班時,透過視線看著剛來公司的年輕小明寫SQL,他的座位剛好在我的斜前方,所以筆者 的位置可以很清楚地看見他整個螢幕畫面文字。此時他正在寫一段SQL,這SQL 裡的 TABLE 有20個欄位(column)只見他把這20幾個欄位分成上下2列,橫著把Columns 一個一個列出來。從這佈局動作,我就知道他是剛寫SQL程式菜鳥。 大家都知道,SQL Columns 佈局寫法,簡單說就分橫式和直式2種寫法。 先說明一下,所謂SQL 橫式和直式寫法差別,請看以下範例: 橫式Columns 佈局寫法 SELECT Column1,Column2,Column3 From Table1 Where Column1 = Something 直式Columns 佈局寫法(豆號一定要在左邊) SELECT Column1 ,Column2 ,Column3 From Table1 Where Column1 = Something 從以上的範例就可看到二者差別就在Column (欄) 是往右邊發展還是往下發展 Long Long Time Ago. 記得筆者是剛學SQL 程式的菜鳥,那時還沒網際網路,要學程式語言或SQL就是買書來看。那時SQL 書籍大部份教學範例都是橫式的(當然也有部份是直式的),所以,我那時寫的SQL順里成章也是橫式的,用此方式寫SQL字串最大的優點是雙引號會用的比較少(前後只要2個)。 出了社會寫過上千支SQL,發覺最困難不是寫SQL ,而是找出SQL裡的錯誤,要能快速找出問題所在,並給予修正。但橫式寫法裡Table Column 一堆擠在一起,有錯誤要一個一個刪除(或暫時移除)除錯非常麻煩且耗時,但那時還沒有知識要改成直式寫法(現在有網路真的太方便了)。這情形直到筆者換工作後接手維護新公司的系統程式後,看到程式裡面前輩SQL 直式寫法才恍然大悟,我弄錯方法了。 從此,我程式中的SQL 字串就改為直式寫法,在debug SQL時,可方便將有疑問 Column 註解(或暫時移除)方便除錯,這是此直式寫法的最大優點。也許有讀者會說:SQL 用直式寫法太麻煩了,要不斷地用Enter鍵將Column 移到下一行,又要排列整齊,耗時又耗工,沒有效率。老手與新手最大的差別就是在有沒有善用工具來創造自己寫程式的效能