learnpg.xyz เปิดให้ฝึก PostgreSQL บนเบราว์เซอร์ได้เลย พร้อมแบบฝึกหัด 88 ข้อ ตั้งแต่ SELECT ถึงการอ่าน EXPLAIN
learnpg.xyz คือชุดโจทย์ SQL ของ PostgreSQL 88 ข้อ ที่มาพร้อมฐานข้อมูลจริงซึ่งรันในเบราว์เซอร์ เปิดแล้วลงมือพิมพ์ SQL ได้ทันที ไม่ต้องลงอะไรในเครื่อง ไม่ต้องสมัครสมาชิก เนื้อหาไล่ระดับตั้งแต่ SELECT พื้นฐานไปจนถึงการอ่านแผนคิวรีบนตารางระดับล้านแถว

learnpg.xyz เปิดให้เราลองพิมพ์และรัน SQL (ภาษาที่ใช้ดึงและจัดการข้อมูลในฐานข้อมูล) กับฐานข้อมูลจริงได้ทันทีในเบราว์เซอร์ ไม่ต้องลงโปรแกรมอะไร ไม่ต้องสมัครสมาชิก และตอนนี้ยังไม่มีค่าใช้จ่าย
เรื่องนี้ฟังดูเล็กน้อย แต่จริงๆ แล้วเว็บนี้ทลายอุปสรรคที่ขวางไม่ให้คนเริ่มฝึก SQL เพราะสิ่งที่ทำให้มือใหม่ไปไม่ถึงการเขียนคำสั่งจริง มักไม่ใช่ความยากของตัวภาษา แต่เป็นขั้นตอนลงฐานข้อมูลแล้วตั้งค่าให้พร้อมใช้ก่อน กว่าจะได้พิมพ์คำสั่ง SQL บรรทัดแรกอย่าง SELECT ไฟในการฝึกก็มอดไปกับการตั้งค่าเสียก่อน ไม่ก็เจอคอร์สที่ยังไม่ทันเริ่มก็บังคับให้สมัครและจ่ายเงินก่อน
ฐานข้อมูลรันอยู่ในเบราว์เซอร์ของเราเอง

ผู้สร้างเล่าเหตุผลไว้ในโพสต์เปิดตัวบน Hacker News ว่า คอร์ส PostgreSQL (โปรแกรมฐานข้อมูลที่ปกติต้องลงและตั้งค่าเองก่อนใช้) มักให้ผู้เรียนเปิดบัญชีหรือเสียเงินก่อน เพราะฝั่งคนทำคอร์สต้องออกค่ารันเซิร์ฟเวอร์ฐานข้อมูลไว้คอยรับคำสั่งของผู้เรียนทุกคน เขาเลยออกแบบ learnpg.xyz ให้ต่างออกไป ด้วยการให้ฐานข้อมูลไปรันบนเครื่องของผู้ใช้แต่ละคนแทน
พอเราเปิดหน้าเว็บ ฐานข้อมูลจะโหลดมาทำงานในแท็บของเราเอง และประมวลผลคำสั่ง SQL ที่เราพิมพ์บนเครื่องของเรา โดยไม่ส่งไปยังเซิร์ฟเวอร์กลาง ฝั่งผู้สร้างจึงแทบไม่มีต้นทุนเซิร์ฟเวอร์ และเปิดให้ทุกคนเข้ามาลองได้โดยไม่ต้องสมัครหรือเสียเงิน
เครื่องมือสาย SQL รุ่นใหม่ๆ เริ่มใช้แนวทางให้ฐานข้อมูลทำงานทั้งหมดในเบราว์เซอร์ โดยไม่ต้องส่งอะไรขึ้นเซิร์ฟเวอร์ เช่น เครื่องมือที่วาง SQL แล้วได้แผนภาพฐานข้อมูลในเบราว์เซอร์ ซึ่งประมวลผลโครงตารางบนเครื่องเราเองทั้งหมด วิธีนี้มีข้อดีคือข้อมูลไม่ต้องออกจากเครื่อง
แบบฝึกหัด 88 ข้อ ไล่จาก SELECT ไปจนถึงการอ่าน EXPLAIN

เนื้อหาในเว็บเป็นชุดแบบฝึกหัดที่ให้เราเขียน SQL เองทีละข้อ กดเข้าแบบฝึกแต่ละข้อแล้วลองพิมพ์คำสั่งกับฐานข้อมูลได้เลย ตัวนับบนหน้าแรกบอกว่ามีทั้งหมด 88 ข้อ แบ่งเป็น 5 หมวดใหญ่ ไล่ระดับจากง่ายไปยาก

หมวดแรกชื่อ Introduction เป็นพื้นฐานล้วนๆ ไล่ตั้งแต่ SELECT กับคำสั่งกรองข้อมูลอย่าง WHERE การนับและสรุปยอดด้วย GROUP BY การเชื่อมตารางด้วย JOIN การเพิ่ม แก้ไข และลบข้อมูล ไปจนถึงการสร้างตารางและกำหนด constraints (กติกาที่บังคับให้ข้อมูลในตารางเป็นไปตามเงื่อนไขที่กำหนด)
พอขึ้นหมวด Advanced เนื้อหาเริ่มเป็นหัวข้อที่มักได้ใช้ตอนทำงานจริง เช่น window functions ที่ใช้คำนวณข้ามแถวอย่างการจัดอันดับหรือทำยอดสะสม การเขียน recursive query ไล่ข้อมูลที่ซ้อนกันเป็นลำดับชั้น การเก็บและค้นข้อมูลในรูปแบบ JSONB และการค้นข้อความด้วย full-text search
นอกจากนี้ยังมีหมวด Operations ที่ว่าด้วยงานดูแลฐานข้อมูลในชีวิตจริง ตั้งแต่การจัดการ transactions และการล็อก การทำ vacuum เพื่อเก็บกวาดข้อมูลที่ไม่ใช้แล้ว การจัดสิทธิ์ผู้ใช้ ไปจนถึงการเฝ้าดูสถานะและขนาดของฐานข้อมูล
จุดที่ทำให้มันไม่ใช่แค่เว็บฝึกมือใหม่
อย่างแรกคือหมวด Data projects ที่นำชุดข้อมูลจริงอย่างแคตตาล็อกชิ้นส่วน LEGO จาก Rebrickable มาให้ลอง ตารางที่ใหญ่ที่สุดมีราว 633,000 แถว และไม่มี primary key (คอลัมน์ที่ใช้ระบุว่าแต่ละแถวคือแถวไหน) มาให้ตั้งแต่แรก โจทย์เริ่มจากเติม primary key ที่ขาดไป แล้วค่อยไล่เชื่อมตารางธีม สี และสต็อกเข้าด้วยกันจนจบชุด แบบฝึกทั้งหมดใช้ข้อมูลก้อนใหญ่แบบที่เจอในงานจริง ไม่ใช่ตารางตัวอย่างเล็กๆ แค่ไม่กี่แถว
อย่างที่สองคือหมวด Optimizations ที่ให้ฝึกทำคิวรีช้าให้เร็วขึ้นด้วยการทำ index (ตัวช่วยให้ฐานข้อมูลค้นหาแถวที่ต้องการได้เร็วขึ้น) และการปรับแผนการทำงานของคิวรี จุดที่ต่างจากที่อื่นคือวิธีตรวจคำตอบ แบบฝึกกลุ่มนี้ไม่ได้วัดว่าคิวรีเร็วขึ้นกี่วินาที แต่ให้อ่าน EXPLAIN (คำสั่งที่แสดงแผนว่าฐานข้อมูลจะดึงข้อมูลด้วยวิธีไหน) เพื่อดูว่าฐานข้อมูลเลือกใช้ index จริงไหม และทำงานตามแผนที่คาดไว้หรือเปล่า นี่เป็นวิธีคิดแบบเดียวกับที่คนดูแลฐานข้อมูลจริงใช้ตัดสินว่าคิวรีดีหรือยัง แบบฝึกพวกนี้ใช้ตารางระดับหลายแสนถึงล้านแถว จึงเห็นผลของ index ได้ชัดๆ
เหมาะกับใคร และต้องเผื่อใจอะไรบ้าง
เว็บนี้เหมาะกับคนหลายกลุ่ม ทั้งคนที่อยากเข้าสายข้อมูลและต้องมี SQL ติดตัว พนักงานออฟฟิศที่อยากดึงข้อมูลมาใช้เองได้ ไม่ต้องรอทีมพัฒนา และคนที่กำลังเตรียมสัมภาษณ์งานและอยากทวน SQL แบบได้ลงมือจริง ไม่ใช่แค่อ่านผ่านตา การฝึกทักษะพื้นฐานสายเทคด้วยการลงมือทำทีละขั้นแบบนี้ ได้ผลคล้ายกับการฝึกใช้ Linux command line ฉบับมือใหม่ ที่ต้องพิมพ์เองถึงจะจำได้จริง
ส่วนเรื่องที่ต้องเผื่อใจคือ เว็บเพิ่งเปิดตัวได้ไม่นาน มีคนที่เข้าไปลองเขียนไว้ในคอมเมนต์ว่าตอนเปิดครั้งแรก กว่าข้อมูลจะโหลดเสร็จก็กินเวลาอยู่พอสมควร แต่ตัวเว็บทำมาดี เรื่องนี้เข้าใจได้เพราะฐานข้อมูลทั้งก้อนต้องโหลดมารันในเบราว์เซอร์ก่อน เผื่อใจตรงนี้ไว้สักนิด จะได้ไม่ปิดหนีไปตั้งแต่ยังไม่ทันเริ่ม
สุดท้าย learnpg.xyz ไม่ได้ทำให้ SQL ง่ายลง มันแค่ตัดข้ออ้างเรื่อง "ยังไม่ได้ลงโปรแกรม" ออกไป แล้วเหลือไว้แค่สิ่งเดียวที่เราตั้งใจจะฝึกมาตั้งแต่แรก นั่นคือการลงมือพิมพ์คำสั่งด้วยตัวเอง เปิดอีกแท็บก็เริ่มได้เลย
ที่มา:
- เว็บไซต์ learnpg.xyz
- โพสต์ Show HN: learnpg.xyz บน Hacker News
ชอบเรื่องแนวนี้ มีอีบุ๊คฟรีให้อ่านต่อ
สร้าง Claude Skill แบบไม่ต้องรู้โค้ด คู่มือสร้าง Claude Skill ของคุณเองด้วยการคุยกับ Claude Code เป็นภาษาไทย
กดสมัครแล้วเราจะส่งเทคนิค AI และของแจกใหม่ๆ ให้ทางอีเมล เลิกรับได้ตลอด
Claude Cowork · The Business Playbook

ฉบับภาษาไทย 15 บท เรียนรู้ผ่านโปรเจกต์จำลองต่อเนื่องทั้งเล่ม ตั้งแต่ตั้งค่า Workspace จัดการไฟล์ เชื่อมแอป ตั้งระบบอัตโนมัติ จนถึงสร้าง Plugin


