คำสั่ง SQL พื้นฐาน ที่หลายคนรู้จัก แต่(อาจ)ไม่ค่อยใช้งาน

26-มิ.ย.-20

คัมภีร์เทพ IT

หากคุณเป็น Programmers/Developers แน่นอนว่า คุณคงเคยเขียนคำสั่ง SQL มาแล้วอย่างแน่นอน ซึ่งบทความนี้จะบอกถึงคำสั่ง SQL พื้นฐาน ที่หลายคนรู้จัก แต่(อาจ)ไม่ค่อยใช้งานมัน ซึ่งมันมีประโยชน์อย่างยิ่งโดยเฉพาะสำหรับ Data Analyst โดยเนื้อหาในบทความนี้ เหมาะสำหรับคนที่มีพื้นฐานหรือเคยใช้งาน SQL มาบ้างแล้ว

1. IN

“IN” Operator ช่วยให้คุณสามารถทดสอบได้ว่า Expression นั้นตรงกับ Value ใด ๆ ใน List หรือไม่ มันจะช่วยลดการใช้งาน “OR” หลาย ๆ เงื่อนไข

นี่คือตัวอย่างการใช้งาน:

2. LIMIT

“LIMIT” ถูกใช้เพื่อจำกัดหรือกำหนดจำนวนของผลลัพธ์ตามจำนวนที่แน่นอน เนื่องจากในบางครั้ง คุณก็จำเป็นต้องจำกัดจำนวนของผลลัพธ์ของการ Query

นี่คือตัวอย่างการใช้งาน:

3. Having

มันเป็นการใช้เงื่อนไขกับกลุ่มของผลลัพธ์เพื่อ Filter พวกมันออกมา แต่คำถามที่น่าสนใจก็คือ ทำไมถึงไม่ใช้ "WHERE" ที่หลาย ๆ คนคุ้นเคยกันล่ะ แน่นอนว่าเราใช้ "WHERE" เพื่อระบุเงื่อนไขให้กับ Columns ที่เราเลือก ในขณะที่ "HAVING" จะถูกใช้เพื่อระบุเงื่อนไขให้กับ Groups ที่ถูกสร้างขึ้นโดย "GROUP BY" Clause

"HAVING" Clause จะต้องถูกใช้ตามหลัง "GROUP BY" Clause แต่จะอยู่ก่อน "ORDER BY" Clause

ในตัวอย่างด้านล่างนี้ SQL HAVING Clause จะ Filter ผลลัพธ์เฉพาะ departments ที่มียอด sales มากกว่า $1,000 เท่านั้น

4. Distinct

ในบางครั้ง คุณอาจต้องการ Records ของข้อมูลที่ไม่ซ้ำกัน แน่นอนว่า คุณสามารถใช้ Distinct มาช่วยเพื่อให้ได้ข้อมูลที่ไม่ซ้ำกัน และน่าจะกล่าวได้ว่า โดยส่วนใหญ่แล้ว มันมักถูกใช้งานกับ Columns

นี่คือตัวอย่างการใช้งาน:

5. Top

มันถูกใช้เพื่อจำกัดข้อมูลตามจำนวนที่ถูกระบุไว้ มันจะแสดง Records โดยเริ่มต้นจาก Row แรก

หมายเหตุ: คุณสามารถใช้งาน Top ได้เฉพาะกับ SQL SERVER และ MS ACCESS เท่านั้น มันไม่สามารถทำงานบน MYSQL, IBM และอื่น ๆ ได้ แต่คุณสามารถใช้ LIMIT ได้บน Databases เหล่านี้ และนั่นก็เป็นหนึ่งในความแตกต่างหลัก ๆ ระหว่าง LIMIT และ TOP

นี่คือตัวอย่างการใช้งาน:

6. Wild Cards

โดยทั่วไปแล้ว Wild Card เป็นวิธีในการค้นหาตัว Characters ผ่าน Strings ซึ่ง Wild Card ใช้ "LIKE" Operator โดย Wild Card ที่เป็นที่รู้จักและถูกใช้งานกันมากที่สุด ก็คือ "%" และ "_" หากคุณเป็น Programmer คุณอาจคุ้นเคยกับ Regular Expressions และ Wild Card เหล่านี้ก็ทำงานเหมือนพวกมัน และนี่ก็เป็นวิธีการทำงานคร่าว ๆ ของมัน

  • "%" : หมายถึง ศูนย์หรือมากกว่าหนึ่ง Character

ในตัวอย่างด้านล่าง เรากำลังบอก SQL ให้ดึงข้อมูลจาก Table "customer" ที่ใน Column "name" เริ่มต้นด้วยตัวอักษร "m" แล้วตามต่อด้วยตัวอักษรอะไรก็ได้และมีจำนวนกี่ตัวก็ได้

นี่เป็นอีกตัวอย่างหนึ่ง ซึ่งเรากำลังบอก SQL ให้ดึงข้อมูลจาก Table "customer" ที่ใน Column "name" ลงท้ายด้วยตัวอักษร "ud" และสามารถเริ่มต้นด้วยตัวอักษรอะไรก็ได้และมีจำนวนกี่ตัวก็ได้

  • "_" : หมายถึง Character เพียงตัวเดียวเท่านั้น
ใน Query ด้านล่าง จะทำการดึงข้อมูลที่เริ่มต้นด้วยตัวอักษรอะไรก็ได้ 1 ตัว แล้วตามด้วยตัวอักษรต่าง ๆ ตามรูปแบบ  "_ohamed"

สำหรับตัวอย่างอื่น ๆ

คราวนี้เรากำลังบอก SQL ให้ดึงผลลัพ์ธ์จาก Column "name" ที่เริ่มต้นด้วย "ahme" แล้วตามด้วยตัวอักษรอะไรก็ได้อีก 1 ตัว 

และแน่นอนว่า เราสามารถใช้งานด้วยการรวมทั้ง 2 อย่างเข้าด้วยกันเพื่อการกำหนดผลลัพธ์ที่เจาะจงมากขึ้น

กรณีนี้ อาจมีความยุ่งยากขึ้นเล็กน้อย เรากำลังบอก SQL ให้ดึงข้อมูลจาก Column "email" ที่ขึ้นต้นด้วยจำนวนตัวอักษรกี่ตัวก็ได้ และลงท้ายด้วยอักษรเพียงตัวเดียวหลังจาก "o" ซึ่งจะว่าไปแล้ว คุณคงจะพอเดาได้ว่า เรากำลังดึง email ที่ลงท้ายด้วย ".com"

7. Temporary Tables

มีหลาย RDBMs ที่รองรับการใช้ Temp Tables ซึ่งไม่ได้มีอะไรนอกจาก Tables เพื่อ Process ข้อมูล อย่างเช่น การ Insert, Update, Delete และ Joins บางครั้งคุณก็จำเป็นต้องเก็บข้อมูลไว้ในพวกมันในบางกรณี สิ่งสำคัญที่สุดที่ต้องจำไว้เกี่ยวกับ Temp Tables ก็คือ เมื่อใช้งานเสร็จสิ้นแล้ว พวกมันจะถูกทำลาย และนี่คือตัวอย่างการใช้งาน:

คุณยังสามารถ Drop Temp Table ได้ตามที่แสดงไว้ด้านล่างนี้:

 

ที่มา:  https://dev.to/

 

 

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

 

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

เพิ่มเพื่อน

 

บทความล่าสุด