ใช้ AI ช่วยเขียน SQL สำหรับนักวิเคราะห์ข้อมูล

Plants.work · · upskilling
ใช้ AI ช่วยเขียน SQL สำหรับนักวิเคราะห์ข้อมูล

วิธีให้ AI เขียน SQL ได้ตรงกับ schema จริง ตรวจหาข้อผิดพลาดที่พบบ่อย เช่น join ซ้ำแถวและ timezone และใช้อย่างปลอดภัยกับข้อมูลบริษัท

คุณได้รับโจทย์ด่วนว่า "ขอดูอัตราลูกค้ากลับมาซื้อซ้ำแยกตามเดือนที่ซื้อครั้งแรก ภายในบ่ายนี้" คุณเปิด AI แล้วพิมพ์โจทย์ตรง ๆ ได้ SQL ยาว 30 บรรทัดที่รันผ่าน แต่ตัวเลขสูงเกินจริงเกือบเท่าตัว ปัญหาคือ AI ไม่รู้จักโครงสร้างข้อมูลของคุณ มันเดาให้ดูสมเหตุสมผล บทความนี้คือวิธีทำงานกับ AI ให้ได้ SQL ที่ทั้งรันได้และถูกต้อง

ใช้ AI เขียน SQL คืออะไร

คือการให้ Large Language Model แปลงโจทย์ธุรกิจเป็นคำสั่ง SQL ช่วยอธิบาย query ที่คนอื่นเขียนไว้ และช่วยแก้ error ปัจจุบันเครื่องมือหลายตัวมีความสามารถนี้ในตัว เช่น เอกสาร Google Cloud ระบุว่า Gemini ใน BigQuery สร้าง SQL จาก comment ภาษาธรรมดา อธิบาย query ด้วยคำสั่ง "Explain this query" และช่วยแก้ error ได้ โดยรองรับ prompt ภาษาอังกฤษเท่านั้น

กลไก: ทำไม AI เขียน SQL ผิด

AI สร้าง SQL จากรูปแบบภาษาที่เคยเห็น ถ้าคุณไม่ให้ schema มันจะเดาชื่อตาราง ชื่อคอลัมน์ และความสัมพันธ์ ผลคือ query ที่ดูถูกแต่ตรรกะผิด ทางแก้คือให้ context ครบ

Context ที่ควรใส่ทุกครั้ง

ข้อผิดพลาดที่ต้องตรวจทุกครั้ง

Join แล้วแถวเพิ่ม (fan-out)

ถ้า join ตารางบิลกับตารางรายการสินค้า แล้วรวมยอดบิล ยอดจะถูกนับซ้ำตามจำนวนสินค้า วิธีตรวจคือนับจำนวนแถวก่อนและหลัง join เทียบกัน

Timezone

ระบบจำนวนมากเก็บเวลาเป็น UTC ถ้าไม่แปลงเป็นเวลาไทย (Asia/Bangkok) บิลช่วงเที่ยงคืนถึงเจ็ดโมงเช้าจะตกไปอยู่วันก่อนหน้า ตัวเลขรายวันจะเพี้ยน

NULL และขอบเขตวันที่

การกรองด้วย "ไม่เท่ากับ" จะตัดแถวที่เป็น NULL ทิ้งไปด้วย และช่วงวันที่ที่ใช้ "น้อยกว่าหรือเท่ากับ" วันสุดท้าย อาจตกหล่นข้อมูลหลังเที่ยงคืน

ตัวอย่าง: วิเคราะห์ลูกค้าซื้อซ้ำของร้านออนไลน์

นักวิเคราะห์ของแบรนด์อาหารเสริมที่ขายผ่านเว็บไซต์ของตัวเองให้ schema ตารางคำสั่งซื้อและตารางลูกค้า พร้อมนิยามซื้อซ้ำ แล้วขอให้ AI เขียนเป็นขั้น ขั้นแรกใช้ CTE หาวันซื้อครั้งแรกของลูกค้าแต่ละคน ขั้นที่สองหาว่ามีบิลถัดไปภายใน 90 วันหรือไม่ ขั้นสุดท้ายจัดกลุ่มตามเดือนของการซื้อครั้งแรกแล้วคำนวณสัดส่วน เธอสั่งให้ AI อธิบายแต่ละ CTE เป็นภาษาไทย แล้วตรวจกับลูกค้า 3 คนที่รู้ประวัติจริง ก่อนส่งตัวเลข

SQL ที่รันผ่าน ไม่ได้แปลว่า SQL ที่ถูก

ข้อควรระวัง

เริ่มต้นยังไง

  1. สร้างไฟล์ context กลางที่มี dialect, schema และนิยามธุรกิจ ใช้แปะทุกครั้งที่ถาม AI
  2. ขอให้ AI เขียนเป็น CTE ทีละขั้น และอธิบายแต่ละขั้น
  3. ตรวจจำนวนแถว ค่าผลรวม และเคสตัวอย่างที่รู้คำตอบ
  4. ให้ AI ทำหน้าที่ reviewer ถามว่า "query นี้มีจุดที่อาจนับซ้ำหรือตกหล่นตรงไหน"
  5. เก็บ query ที่ตรวจแล้วเป็นคลังของทีม

ถ้ายังไม่คุ้นกับการคิดแบบ query ลองคอร์ส วิเคราะห์ข้อมูลธุรกิจด้วยสูตร Query พร้อม Case Study หรือ ก้าวแรกสู่นักวิเคราะห์ข้อมูลยุค AI บน Plants.work Learn และถ้ากำลังเตรียมสัมภาษณ์สาย Data อ่าน สัมภาษณ์งานสาย Data Analyst เตรียมตัวยังไง