โอเปอเรเตอร์ 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%';