Back to: SQL For Data Analyst
SQL คืออะไร ทำไม Data Analyst ต้องรู้
ก่อนจะเขียนคำสั่งแรก มาทำความรู้จักกันก่อนว่า SQL คืออะไร และทำไมมันถึงเป็นทักษะที่แทบทุกตำแหน่ง Data Analyst เรียกหา
ถ้าคุณเปิดตอนนี้ขึ้นมาเพราะไม่เคยแตะ SQL มาก่อนเลย ไม่ต้องกังวลครับ ทุกคนที่เก่ง SQL วันนี้ก็เริ่มจากศูนย์เหมือนกัน ตอนนี้เราจะไม่รีบเขียนโค้ด แต่จะช้าลงนิดหนึ่งเพื่อทำความเข้าใจภาพใหญ่ก่อน เพราะถ้าเข้าใจว่า SQL คืออะไรและทำงานยังไง ตอนต่อ ๆ ไปจะเรียนง่ายขึ้นเยอะ
SQL คืออะไร
SQL ย่อมาจาก Structured Query Language พูดง่าย ๆ คือ “ภาษาที่ใช้คุยกับฐานข้อมูล” เวลาเราอยากรู้ว่า “เดือนที่แล้วขายอะไรดีที่สุด” หรือ “ลูกค้าคนไหนไม่ได้ซื้อของเกิน 3 เดือนแล้ว” คำตอบเหล่านี้มักจะนอนอยู่ในฐานข้อมูลขององค์กร และ SQL คือเครื่องมือที่เราใช้ “ถาม” คำถามพวกนี้กับฐานข้อมูล
สิ่งที่ทำให้ SQL พิเศษคือ มันเป็นภาษาที่ อ่านออกใกล้เคียงภาษาคนธรรมดา มากกว่าภาษาโปรแกรมมิ่งทั่วไป ลองดูตัวอย่างด้านล่างนี้ครับ
SELECT name, department, salary FROM employees WHERE department = 'Data' ORDER BY salary DESC; -- อ่านเป็นภาษาคนได้ว่า: -- "เลือกชื่อ แผนก และเงินเดือน จากตารางพนักงาน -- เฉพาะคนที่อยู่แผนก Data แล้วเรียงจากเงินเดือนมากไปน้อย"
| name | department | salary |
|---|---|---|
| Nisa | Data | 65,000 |
| Ton | Data | 58,000 |
| Ploy | Data | 52,000 |
จะเห็นว่าคำสั่งด้านบนแทบไม่ต้องแปลเลย เพราะคำที่ใช้อย่าง SELECT, FROM, WHERE, ORDER BY ก็ตรงตัวอยู่แล้ว นี่แหละคือเสน่ห์ของ SQL ที่ทำให้คนไม่มีพื้นฐานเขียนโปรแกรมก็เริ่มต้นได้ไม่ยาก
ทำไม Data Analyst ต้องรู้ SQL
ต่อให้เราเก่ง Excel หรือใช้เครื่องมือ BI (Business Intelligence) ได้คล่องแค่ไหน SQL ก็ยังเป็นทักษะที่หลีกเลี่ยงไม่ได้ ด้วยเหตุผลหลัก ๆ ดังนี้
- ข้อมูลจริงอยู่ในฐานข้อมูล ไม่ใช่ไฟล์ Excel — องค์กรส่วนใหญ่เก็บข้อมูลลูกค้า ยอดขาย และธุรกรรมไว้ในระบบฐานข้อมูล การจะดึงข้อมูลมาวิเคราะห์ต้องใช้ SQL ในการ “คุย” กับระบบเหล่านั้นโดยตรง
- เร็วกว่าและยืดหยุ่นกว่า — เมื่อข้อมูลมีหลักล้านแถว การเปิด Excel มาไล่กรองทีละอันแทบเป็นไปไม่ได้ แต่ SQL ประมวลผลข้อมูลขนาดใหญ่ได้ในไม่กี่วินาที
- เป็นสกิลพื้นฐานที่แทบทุกประกาศงาน Data Analyst ต้องการ — ไม่ว่าจะสมัครงานสาย data, product, marketing analytics หรือ operations ก็มักเจอ SQL อยู่ในคุณสมบัติที่ต้องการเสมอ
- ต่อยอดไปเครื่องมืออื่นได้ง่าย — พอเข้าใจ SQL แล้ว การเรียน Python สำหรับวิเคราะห์ข้อมูล หรือใช้เครื่องมือ BI อย่าง Looker, Tableau ก็จะง่ายขึ้นมาก เพราะแนวคิดเรื่องตาราง แถว คอลัมน์ เป็นรากฐานเดียวกัน
SQL ทำงานร่วมกับฐานข้อมูลยังไง (ภาพรวม)
เวลาเราเขียนคำสั่ง SQL แล้วกด Run ระบบจะทำงานตามลำดับคร่าว ๆ นี้:
- เราพิมพ์คำสั่ง SQL (เรียกว่า query) ผ่านเครื่องมือ เช่น BigQuery, PostgreSQL, MySQL
- ระบบฐานข้อมูลอ่านคำสั่ง แล้วไปค้นหาข้อมูลในตารางที่เกี่ยวข้อง
- ระบบส่ง ผลลัพธ์เป็นตาราง (result set) กลับมาให้เราดู เหมือนตัวอย่างตารางด้านบน
ตอนถัดไปเราจะพาไปรู้จักกับ “ฐานข้อมูลเชิงสัมพันธ์” ให้ลึกขึ้น ว่าทำไมข้อมูลถึงถูกจัดเก็บเป็นตาราง และตารางแต่ละใบเชื่อมกันได้ยังไง
สรุปตอนนี้
- SQL (Structured Query Language) คือภาษาที่ใช้สื่อสารกับฐานข้อมูล
- Data Analyst ต้องรู้ SQL เพราะข้อมูลจริงอยู่ในฐานข้อมูล ไม่ใช่ไฟล์ Excel
- เมื่อรัน query ระบบจะค้นหาข้อมูลแล้วส่งผลลัพธ์กลับมาเป็นตาราง
- ตอนถัดไป: จะเจาะลึกเรื่องฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
ลองมือทำจริง
ยังไม่ต้องรันจริงก็ได้ครับ แค่ลองเขียนตามความเข้าใจ แล้วกด “ดูเฉลย” เพื่อเช็กว่าคิดถูกทางไหม
1. สมมติมีตารางชื่อ customers ลองเขียนคำสั่ง SQL เพื่อดึง “ทุกคอลัมน์ ทุกแถว” ออกมาดูทั้งหมด
เฉลย
SELECT * FROM customers;
เครื่องหมาย * แปลว่า “ทุกคอลัมน์” ส่วนการไม่ใส่ WHERE หมายความว่าเราไม่ได้กรองอะไรเลย จึงได้ทุกแถวในตารางกลับมา
2. อธิบายด้วยคำพูดของตัวเอง (สั้น ๆ ก็ได้) ว่า “ผลลัพธ์ (result set)” ที่ได้จากการรัน SQL query คืออะไร
แนวคำตอบ
Result set คือ “ตาราง” ที่ฐานข้อมูลส่งกลับมาให้เราหลังรันคำสั่ง SQL เสร็จ ประกอบด้วยแถวและคอลัมน์ตามที่เราขอไว้ใน query เช่น ถ้าเราขอ name กับ salary ผลลัพธ์ที่ได้ก็จะมีแค่ 2 คอลัมน์นี้เท่านั้น ไม่ใช่ทั้งตารางต้นฉบับ