ใน SQL เราไม่มีสิทธิ์เข้าถึงตัวดำเนินการ StartsWith() ที่สามารถอนุญาตให้เราดำเนินการกรองข้อความโดยรวมหรือไม่รวมค่าใดๆ ที่ขึ้นต้นด้วยรูปแบบเฉพาะ
อย่างไรก็ตาม ในฐานข้อมูลเช่น MySQL เราสามารถใช้ตัวดำเนินการ LIKE ซึ่งช่วยให้เราสามารถดำเนินการแบบเดียวกันโดยพื้นฐานได้
ในบทช่วยสอนนี้ เราจะอธิบายทุกสิ่งที่คุณจำเป็นต้องรู้เมื่อทำงานกับตัวดำเนินการ LIKE เราเริ่มต้นด้วยพื้นฐานแล้วพัฒนาไปสู่การใช้งานที่ซับซ้อนและใช้งานได้จริงมากขึ้น
หมายเหตุ: สำหรับบทช่วยสอนนี้ เราจะสาธิตวิธีใช้โอเปอเรเตอร์นี้โดยใช้ฐานข้อมูล MySQL โดยเฉพาะ MySQL เวอร์ชัน 80 แต่สิ่งนี้ก็สามารถใช้ได้กับ MySQL 5.0 เช่นกัน
MySQL LIKE โอเปอเรเตอร์
ใน SQL เราใช้ตัวดำเนินการ LIKE เพื่อกรองแถวจากตารางที่กำหนดตามอักขระเฉพาะหรือชุดอักขระที่สตริงขึ้นต้นด้วยคำนำหน้าที่ระบุ
กรณีการใช้งานทั่วไปคือการดึงข้อมูลระเบียนที่ตรงกับรูปแบบบางอย่างที่จุดเริ่มต้นของค่าคอลัมน์
เรามักจะใช้ตัวดำเนินการ LIKE ร่วมกับคำสั่ง SELECT เพื่อดึงข้อมูลที่ตรงตามเกณฑ์ที่ระบุ
แม้ว่าไวยากรณ์และการจัดรูปแบบอาจแตกต่างกันไปขึ้นอยู่กับวิธีการใช้ตัวดำเนินการ แต่ต่อไปนี้จะแสดงไวยากรณ์พื้นฐานของตัวดำเนินการในคำสั่ง SELECT:
เลือกคอลัมน์ 1, คอลัมน์ 2, ...จาก table_name
ที่ไหน column_name ชอบ 'คำนำหน้า%' -
ในไวยากรณ์ที่กำหนด:
- column1, column2, …: – นี่แสดงถึงคอลัมน์ที่เราต้องการดึงข้อมูล
- table_name – นี่เป็นการตั้งชื่อตารางที่เราต้องการสอบถาม
- column_name – กำหนดชื่อของคอลัมน์ที่เราต้องการกรอง
- 'คำนำหน้า%' - เรามีคำนำหน้าซึ่งช่วยให้เราสามารถระบุรูปแบบที่เราต้องการค้นหาโดยที่ '%' แสดงถึงอักขระศูนย์หรือมากกว่า
ตัวอย่างการใช้งาน: ค้นหาภาพยนตร์ที่ขึ้นต้นด้วย Z
ให้เราดูตัวอย่างที่เป็นประโยชน์เพิ่มเติมเกี่ยวกับวิธีใช้โอเปอเรเตอร์นี้เพื่อความเข้าใจที่มากขึ้น เพื่อวัตถุประสงค์ในการสาธิต เราใช้ฐานข้อมูลตัวอย่าง MySQL Sakila
ดาวน์โหลดและติดตั้งหรือใช้ชุดข้อมูลของคุณเองได้ตามใจชอบ
ให้เรานำตาราง 'ภาพยนตร์' จากฐานข้อมูล Sakila มาใช้เป็นตัวอย่าง สมมติว่าเราต้องการค้นหาภาพยนตร์ที่ชื่อขึ้นต้นด้วยตัวอักษร 'Z' เราสามารถเรียกใช้แบบสอบถามได้ดังนี้:
เลือกชื่อ, การให้คะแนนจากภาพยนตร์ฉ
ชื่อ LIKE อยู่ที่ไหน 'กับ%' -
ในแบบสอบถามนี้ เราใช้ตัวดำเนินการ LIKE เพื่อดึงข้อมูลบันทึกที่ชื่อภาพยนตร์ขึ้นต้นด้วยตัวอักษร 'Z' ในคำนำหน้า เราใช้ตัวอักษร Z พร้อมด้วยไวด์การ์ด “%” ซึ่งหมายถึงอักขระหนึ่งตัวขึ้นไป
ผลลัพธ์ที่ได้จะเป็นดังนี้:
บทสรุป
ในบทช่วยสอนนี้ เราได้เรียนรู้วิธีใช้ตัวดำเนินการ MySQL LIKE เพื่อทำการจับคู่อักขระ ซึ่งรวมถึงการใช้ไวด์การ์ด “%” เพื่อค้นหารูปแบบที่จุดเริ่มต้นของค่าคอลัมน์