วิธีเขียน SQL Queries ให้เข้าใจง่ายขึ้น

22-ส.ค.-18

คัมภีร์เทพ IT

โดยทั่วไป Programmer/Developer มักให้ความสำคัญกับการเขียน Code ให้อ่านง่าย เข้าใจง่าย และมีประสิทธิภาพ ซึ่งในการเขียน SQL Query ก็ต้องการแบบเดียวกัน โดยในบทความนี้จะแสดงให้เห็นถึงวิธีเขียน SQL Query ในแบบต่างๆ พร้อมทั้งบอกข้อดี-ข้อเสียของแต่ละแบบ แม้จะไม่ได้ลงลึก แต่ก็เชื่อว่าจะมีประโยชน์กับคนไอทีแน่นอน

ไม่ว่าจะเขียน Code หรือ SQL Query ก็ตาม Programmer/Developer แต่ละคนล้วนมีสไตล์เป็นของตนเอง ซึ่งมันมักไม่เกิดปัญหาหรอกหากคุณทำงานนั้นเพียงคนเดียว เพราะคุณเป็นคนเขียนก็จะรู้และเข้าใจงานที่ตัวเองทำ แต่กรณีคุณทำงานร่วมกับคนอื่นในทีม หรือทำโปรเจคใหญ่ๆ ก็อาจเกิดปัญหาขึ้นได้ เมื่อคุณทำ Project การเขียน SQL Query แทบจะไม่สามารถเขียนจบภายในบรรทัดเดียว ดังนั้น การเรียนรู้ที่จะเขียน SQL Query ในแบบที่เหมาะสมจะสร้างความแตกต่างเมื่อคุณกลับมาอ่านมันในภายหลัง หรือ Share Query นั้นกับคนอื่นเพื่อ Review หรือ Execution คราวนี้เรามาดูวิธีการเขียนในรูปแบบต่างๆ กันเลย

วิธีเขียน SQL query แบบที่ 1

ข้อดี:

  • การใช้ขนาดตัวอักษรแบบผสม (Mixed case) จะช่วยให้สามารถแยกคำ keyword ออกจากชื่อ Column และชื่อ Table ได้ เช่น เขียน SELECT ด้วยตัวพิมพ์ใหญ่ทั้งหมด และเขียน Employee (ชื่อ Table) ขึ้นต้นด้วยตัวพิมพ์ใหญ่ แต่อาจมีบางส่วนดูไม่สอดคล้องกัน เช่น เขียน SELECT ด้วยตัวพิมพ์ใหญ่ แต่เขียน from ด้วยตัวพิมพ์เล็ก แบบนี้อาจทำให้ดูยากสักหน่อย

ข้อเสีย:

  • ใช้ขนาดตัวอักษรแบบใหญ่เล็กผสมกัน (Mixed case)
  • Query ทั้งหมด ที่ถูกเขียนต่อเนื่องกันในบรรทัดเดียวกัน จะทำให้ยิ่งอ่านยากขึ้น โดยเฉพาะหากมี จำนวน Table และ Column เป็นจำนวนมากอย่างที่เห็นในรูปด้านบน
  • ขาดความยืดหยุ่นในการเพิ่ม Conditions ใหม่ๆ หรือ Run โดยไม่ใช้ Conditions ที่มีอยู่

วิธีเขียน SQL query แบบที่ 2

ส่วนที่ปรับปรุงให้ดีขึ้น:

  • SQL query ถูกแบ่งเป็นบรรทัดๆ ซึ่งทำให้อ่านและดูเข้าใจง่ายมากขึ้นกว่าเดิม

ปัญหา:

  • ยังคงมีการใช้ขนาดตัวอักษรแบบใหญ่เล็กผสมกัน (Mixed case)
  • Conditions ทั้งหมดที่อยู่ภายใต้ Where clause ยังเขียนต่อเนื่องอยู่ในบรรทัดเดียวกัน นั่ยหมายถึง หากคุณจะใส่ Comment ใน Conditions บางส่วนก็ไม่สามาถทำได้

วิธีเขียน SQL query แบบที่ 3

  • SQL query ถูกแบ่งเป็นบรรทัดๆ ทำให้อ่านและดูเข้าใจง่ายมากขึ้นกว่าเดิม
  • มีการจัดวางย่อหน้าที่เหมาะสม ทำให้ดู query แล้วรู้ว่าตรงไหนเป็น tables ตรงไหนเป็น joins
  • ในส่วนของ  where clause มีการเคาะบรรทัดแยกตาม conditions ต่างๆ ทำให้ง่ายหากคุณจะ run query โดยการ comment ใน condition บางส่วนได้ ดังที่เห็นในรูปด้านล่าง

อันที่จริง หากคุณชอบใช้ตัวอักษรพิมพ์ใหญ่สำหรับพวกคำ keyword ก็ยังสามารถใช้ได้อยู่ แต่แนะนำให้ใช้เฉพาะพวกคำ keyword เท่านั้น ซึ่งจะทำให้คุณอ่านและเข้าใจง่ายยิ่งขึ้น ตามรูปด้านล่าง

แม้บทความนี้จะเป็นเทคนิคง่ายๆ แต่ผลของมันกลับมีประสิทธิภาพมาก หากคุณพยายามปรับปรุงการเขียน SQL query ที่มีความซับซ้อนต่อไปเรื่อยๆ จะทำให้เพื่อนร่วมทีมอ่านเข้าใจและทำให้ maintain ได้สะดวกขึ้น หากคุณใช้ SQL formatters online ต่างๆ อยู่ อยากให้คุณมีสไตล์การเขียนที่ชัดเจนและยึดสไตล์นั้นไว้ แทนที่จะเปลี่ยนไปตาม Formatters online เหล่านั้น

ที่มา:  https://hackernoon.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความที่เกี่ยวข้อง