WHERE Clause ใน MySQL

WHERE Clause ใน MySQL เป็นคำสั่งที่ช่วยให้เราสามารถกรองข้อมูลจากฐานข้อมูลได้อย่างมีประสิทธิภาพ แทนที่จะดึงข้อมูลทั้งหมดจากตาราง เราสามารถใช้ WHERE เพื่อเลือกเฉพาะข้อมูลที่ตรงตามเงื่อนไขที่กำหนดได้

ในบทความนี้ เราจะเรียนรู้การเขียน WHERE Clause อย่างละเอียด พร้อมตัวอย่างการใช้งานในสถานการณ์จริง เพื่อให้สามารถนำไปประยุกต์ใช้กับงานจริงได้อย่างมีประสิทธิภาพ

ความหมายของ WHERE Clause ใน MySQL

WHERE Clause คือการเพิ่มเงื่อนไขให้กับคำสั่ง SELECT (หรือคำสั่งอื่น ๆ เช่น UPDATE, DELETE) เพื่อดึงเฉพาะแถวข้อมูลที่ตรงกับเงื่อนไขที่ระบุเท่านั้น ช่วยให้การทำงานกับฐานข้อมูลมีความแม่นยำและมีประสิทธิภาพสูงขึ้น

รูปแบบการใช้งาน (Syntax)

SELECT column1, column2, ...
FROM table_name
WHERE condition;
  • SELECT: ระบุคอลัมน์ที่ต้องการดึงข้อมูล
  • FROM: ระบุชื่อตาราง
  • WHERE: กำหนดเงื่อนไขที่ต้องการใช้ในการกรองข้อมูล

ตัวอย่างการใช้งาน

ตัวอย่างที่ 1: กรองข้อมูลด้วยเงื่อนไขเท่ากับ (=)

SQL
SELECT * FROM employees WHERE department = 'IT';

การทำงาน:
ดึงข้อมูลพนักงานทั้งหมดที่อยู่ในแผนก IT

ตัวอย่างที่ 2: กรองข้อมูลด้วยเงื่อนไขมากกว่า (>)

SQL
SELECT first_name, salary FROM employees WHERE salary > 50000;

การทำงาน:
แสดงชื่อและเงินเดือนของพนักงานที่มีเงินเดือนมากกว่า 50,000

ตัวอย่างที่ 3: กรองข้อมูลด้วยเงื่อนไขหลายเงื่อนไข (AND)

SQL
SELECT first_name, department FROM employees WHERE department = 'IT' AND salary > 60000;

การทำงาน:
ดึงพนักงานที่อยู่แผนก IT และมีเงินเดือนมากกว่า 60,000

ตัวอย่างที่ 4: กรองข้อมูลด้วยเงื่อนไขอย่างใดอย่างหนึ่ง (OR)

SQL
SELECT first_name, department FROM employees WHERE department = 'IT' OR department = 'HR';

การทำงาน:
แสดงพนักงานที่อยู่แผนก IT หรือ HR

ตัวอย่างที่ 5: กรองข้อมูลด้วย NOT

SQL
SELECT * FROM employees WHERE department != 'Finance';

การทำงาน:
แสดงข้อมูลพนักงานที่ไม่ได้อยู่ในแผนกการเงิน

ตัวอย่างการประยุกต์ใช้งานในสถานการณ์จริง (H2)

สมมติเรามีข้อมูลพนักงานดังนี้

idfirst_namedepartmentsalary
1JohnIT50000
2JaneHR55000
3AliceIT65000
4BobFinance48000

ตัวอย่าง SQL: ดึงพนักงานแผนก IT ที่มีเงินเดือนมากกว่า 55,000

SQL
SELECT first_name, salary
FROM employees
WHERE department = 'IT' AND salary > 55000;

การทำงาน:

  • กรองข้อมูลแผนก IT ก่อน
  • ตรวจสอบเงินเดือนที่มากกว่า 55,000
  • มีเพียง Alice เท่านั้นที่ตรงกับเงื่อนไข

ผลลัพธ์ที่ได้:

  • จะแสดงเฉพาะ Alice ที่อยู่แผนก IT และมีเงินเดือน 65,000

หมายเหตุ

  • หากมีหลายเงื่อนไข ควรใช้วงเล็บ ( ) เพื่อควบคุมลำดับการประเมินเงื่อนไข
  • การใช้ AND และ OR รวมกันควรวางแผนอย่างรอบคอบ เพื่อไม่ให้ได้ผลลัพธ์ผิดพลาด
  • ระวังเรื่องการเปรียบเทียบข้อมูลประเภทตัวอักษรกับตัวเลขที่แตกต่างกัน
แชร์เรื่องนี้