SQL 101: เริ่มเขียน Query ดึงข้อมูลฉบับคนเริ่มต้น

SQL 101: เริ่มเขียน Query ดึงข้อมูลฉบับคนเริ่มต้น

November 9, 2025

Database

เคยสงสัยไหมครับว่าข้อมูลมหาศาลที่อยู่ในแอปพลิเคชันต่าง ๆ เช่น รายชื่อเพื่อนใน Facebook, ประวัติการสั่งซื้อใน Shopee, หรือรายชื่อเพลงใน Spotify... เขาจัดเก็บและดึงออกมาแสดงผลให้เราดูได้ยังไง? 🤔

คำตอบก็คือ SQL อ่านได้สองแบบหลักๆ คือ เอส-คิว-แอล (ตามตัวอักษรย่อ) และ ซี-เควล (มาจากชื่อเดิม SEQUEL) มันคือภาษากลางที่ใช้ในการพูดคุยกับฐานข้อมูล และวันนี้เราจะมาลองเป็น "นักสืบข้อมูล" โดยใช้คำสั่ง SQL พื้นฐานเพื่อค้นหาสิ่งที่เราต้องการกัน!

ก่อนจะเริ่ม: รู้จักกับ "ตาราง" กันก่อน

ฐานข้อมูลส่วนใหญ่จะเก็บข้อมูลในรูปแบบของ ตาราง (Table) ซึ่งหน้าตาจะคล้าย ๆ กับตารางใน Excel เลยครับ

  • คอลัมน์ (Column): คือหัวข้อของข้อมูลแต่ละประเภท (เช่น id, title, price)
  • แถว (Row): คือข้อมูล 1 ชุด หรือ 1 "Record" (เช่น ข้อมูลหนังสือ 1 เล่ม)

สมมติว่าเรามีตาราง books ในร้านหนังสือออนไลน์ของเราแบบนี้:

Table: books

idtitlecategorypricepublish_date
1The Midnight LibraryFiction3502020-08-13
2Atomic HabitsSelf-Help4202018-10-16
3SapiensNon-Fiction5502015-02-10
4DuneFiction4951965-08-01
5The Psychology of MoneySelf-Help3802020-09-08

พร้อมแล้วใช่ไหมครับ? ไปเริ่มเขียน Query แรกกันเลย! 🚀


1. SELECT และ FROM: ขอดูหน่อย...จากไหน?

คำสั่งที่ใช้บ่อยที่สุดและเป็นหัวใจของการดึงข้อมูลคือ SELECT ครับ

  • SELECT: บอกว่าเราต้องการ "เลือกดูคอลัมน์อะไรบ้าง"
  • FROM: บอกว่าให้ไปหาจาก "ตารางไหน"

ขอดูทุกอย่างในตาราง books

ถ้าเราอยากเห็นข้อมูลทุกคอลัมน์ ทุกแถวในตาราง books เราจะใช้เครื่องหมาย * (ดอกจัน) ซึ่งแปลว่า "ทั้งหมด"

SQL

SELECT * FROM books;

ผลลัพธ์: เราจะได้ข้อมูลทั้งตาราง books กลับมาเลย!

ขอดูแค่บางคอลัมน์

แต่ส่วนใหญ่เราไม่ได้อยากเห็นทุกอย่างใช่ไหมครับ? เราสามารถระบุชื่อคอลัมน์ที่ต้องการได้ โดยคั่นด้วยเครื่องหมาย , (จุลภาค)

SQL

SELECT title, price FROM books;

ผลลัพธ์:

titleprice
The Midnight Library350
Atomic Habits420
Sapiens550
......

2. WHERE: กรองข้อมูลตามเงื่อนไข 🔍

ตอนนี้เราเริ่มสนุกขึ้นแล้ว! WHERE คือคำสั่งที่ใช้ในการ "กรอง" ข้อมูล เพื่อเอามาเฉพาะแถวที่ตรงตามเงื่อนไขที่เราต้องการ

หาหนังสือที่เป็นหมวด Fiction

SQL

SELECT * FROM books
WHERE category = 'Fiction';

ข้อสังเกต: สำหรับข้อมูลที่เป็นข้อความ (Text/String) เราต้องใส่ไว้ในเครื่องหมาย ' ' (Single Quote) นะครับ

ผลลัพธ์:

idtitlecategorypricepublish_date
1The Midnight LibraryFiction3502020-08-13
4DuneFiction4951965-08-01

หาหนังสือที่ราคามากกว่า 400 บาท 💰

SQL

SELECT title, price FROM books
WHERE price > 400;

ผลลัพธ์:

titleprice
Atomic Habits420
Sapiens550
Dune495

เงื่อนไขแบบซับซ้อนด้วย AND และ OR

เราสามารถรวมหลาย ๆ เงื่อนไขเข้าด้วยกันได้:

  • AND: ต้องเป็นจริง "และ" ทั้งสองเงื่อนไข
  • OR: เป็นจริงแค่เงื่อนไขใดเงื่อนไขหนึ่ง "หรือ" ทั้งสองก็ได้

ตัวอย่าง: หาหนังสือหมวด Self-Help และ ราคาถูกกว่า 400 บาท

SQL

SELECT title, category, price FROM books
WHERE category = 'Self-Help' AND price < 400;

ผลลัพธ์:

titlecategoryprice
The Psychology of MoneySelf-Help380

3. ORDER BY: จัดเรียงผลลัพธ์ 📈

ข้อมูลที่ได้มาอาจจะยังดูไม่เป็นระเบียบ เราสามารถใช้ ORDER BY เพื่อ "จัดเรียง" ผลลัพธ์ตามคอลัมน์ที่ต้องการได้

  • ASC (Ascending): เรียงจากน้อยไปมาก (เป็นค่า default)
  • DESC (Descending): เรียงจากมากไปน้อย

ตัวอย่าง: แสดงหนังสือทั้งหมด โดยเรียงตามราคาจาก แพงที่สุดไปถูกที่สุด

SQL

SELECT title, price FROM books
ORDER BY price DESC;

ผลลัพธ์:

titleprice
Sapiens550
Dune495
Atomic Habits420
The Psychology of Money380
The Midnight Library350

4. LIMIT: จำกัดจำนวนผลลัพธ์

บางทีเราก็ไม่ได้อยากได้ข้อมูลทั้งหมด แต่ต้องการแค่ไม่กี่แถวแรก (เช่น 5 อันดับแรก) เราสามารถใช้ LIMIT ในการ "จำกัดจำนวน" แถวที่แสดงผลได้

ตัวอย่าง: หาหนังสือ 3 เล่มที่แพงที่สุดในร้าน

SQL

SELECT title, price FROM books
ORDER BY price DESC
LIMIT 3;

ผลลัพธ์:

titleprice
Sapiens550
Dune495
Atomic Habits420

Putting It All Together: ประกอบร่าง!

ตอนนี้เรามีเครื่องมือครบแล้ว! มาลองสร้าง Query ที่ซับซ้อนขึ้นโดยการรวมทุกอย่างเข้าด้วยกัน

ภารกิจ: "หาหนังสือหมวด Fiction ที่ราคาไม่เกิน 400 บาท โดยเรียงตามวันที่ตีพิมพ์จากเก่าที่สุดไปใหม่ที่สุด"

SQL

SELECT
    title,
    category,
    price,
    publish_date
FROM
    books
WHERE
    category = 'Fiction' AND price <= 400
ORDER BY
    publish_date ASC;

ผลลัพธ์:

titlecategorypricepublish_date
The Midnight LibraryFiction3502020-08-13

(ในเคสนี้มีแค่เล่มเดียวที่ตรงเงื่อนไข)

สรุป

ยินดีด้วยครับ! ตอนนี้คุณได้เรียนรู้คำสั่งพื้นฐานที่ทรงพลังที่สุดของ SQL แล้ว:

  • SELECT: เลือกคอลัมน์
  • FROM: จากตารางไหน
  • WHERE: กรองตามเงื่อนไข
  • ORDER BY: จัดเรียงผลลัพธ์
  • LIMIT: จำกัดจำนวน

นี่เป็นเพียงก้าวแรกเท่านั้น โลกของ SQL ยังมีอะไรให้เรียนรู้อีกเยอะแยะ เช่น การเชื่อมข้อมูลหลายตารางเข้าด้วยกัน (JOIN), การนับหรือรวมข้อมูล (COUNT, SUM) แต่แค่คุณเข้าใจพื้นฐานเหล่านี้ ก็สามารถเริ่มต้นเส้นทางการเป็น "นักสืบข้อมูล" ได้แล้วครับ! ขอให้สนุกกับการ Query นะครับ

Tags
SQL
Database
Back-end

Related Blogs

knot-dev.tech

November 9, 2025