MySQL การใช้งานโอเปอเรเตอร์ LIKE

โอเปอเรเตอร์ LIKE ใช้ร่วมกับ WHERE clause เพื่อค้นหาข้อมูลที่ตรงตามรูปแบบที่กำหนด โดยจะใช้ร่วมกับสัญลักษณ์พิเศษที่เรียกว่า Wildcards ซึ่งสัญลักษณ์พิเศษที่ใช้กับโอเปอเรเตอร์ LIKE คือ % และ _

  • % แทนตัวอักษรใด ๆ ตั้งแต่ 0 ตัวขึ้นไป
  • _ แทนตัวอักษรใด ๆ ก็ได้ จำนวน 1 ตัว

รูปแบบการใช้งาน โอเปอเรเตอร์ LIKE จะเป็นดังนี้

SELECT column1, column2
FROM table_name
WHERE column_name LIKE 'pattern';
  • pattern คือรูปแบบข้อมูลที่ต้องการค้นหา

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

ค้นหานักแสดงที่ชื่อขึ้นต้นด้วยตัว A

SQL
SELECT first_name, last_name
FROM actor
WHERE first_name LIKE 'A%';
  • แสดงชื่อนักแสดงที่ขึ้นต้นด้วยตัว A เช่น Adam, Angela, Audrey

ค้นหาภาพยนตร์ที่ลงท้ายด้วยคำว่า “LOVE”

SQL
SELECT title
FROM film
WHERE title LIKE '%LOVE';
  • แสดงชื่อภาพยนตร์ที่ลงท้ายด้วยคำว่า LOVE เช่น SUMMER LOVE

ค้นหาภาพยนตร์ที่มีคำว่า “ACTION” อยู่ตรงไหนก็ได้

SQL
SELECT title
FROM film
WHERE title LIKE '%ACTION%';
  • แสดงชื่อภาพยนตร์ที่มีคำว่า ACTION อยู่ตรงกลาง ต้น หรือท้ายก็ได้ เช่น ACTION STORY, THE BEST ACTION MOVIE

ค้นหาชื่อลูกค้าที่มีตัวอักษรตัวที่สองเป็น “a”

SQL
SELECT first_name
FROM customer
WHERE first_name LIKE '_a%';
  • แสดงชื่อลูกค้าจากตาราง customer ที่มีตัวอักษรตัวที่สองเป็น ‘a’ ส่วนตัวอักษรตัวแรกจะเป็นอะไรก็ได้

LIKE ให้ความสำคัญกับตัวพิมพ์ใหญ่-พิมพ์เล็ก (case sensitivity) ขึ้นอยู่กับ collation ของคอลัมน์นั้น (เช่น utf8_general_ci = ไม่สน case)

ถ้าต้องการค้นหาแบบไม่สนตัวพิมพ์เล็ก/ใหญ่ แนะนำให้ใช้ LOWER() หรือ UPPER() เช่น

SQL
SELECT first_name
FROM customer
WHERE LOWER(first_name) LIKE 'a%';
แชร์เรื่องนี้