ตัวดำเนินการ SQL LIKE ใช้สัญลักษณ์แทนเพื่อค้นหาข้อมูลที่คล้ายกับรูปแบบเฉพาะ คุณสามารถใช้ขีดล่างเพื่อแทนที่อักขระตัวเดียวหรือเครื่องหมายเปอร์เซ็นต์เพื่อแทนที่อักขระศูนย์ หนึ่ง หรือหลายตัว
คุณเคยต้องการดึงข้อมูลจากคอลัมน์ที่มีค่าใกล้เคียงกันหรือไม่? ตัวอย่างเช่น สมมติว่าคุณมีโต๊ะชื่อพนักงาน บางทีคุณอาจต้องการเรียกค้นรายชื่อพนักงานที่มีตำแหน่งเป็น “ฝ่ายขาย”
นั่นคือสิ่งที่ SQL LIKE โอเปอเรเตอร์เข้ามามีบทบาท ในบทความนี้ เราจะอธิบายวิธีการใช้ LIKE โอเปอเรเตอร์บน SQL เซิร์ฟเวอร์เพื่อดำเนินการค้นหาที่เฉพาะเจาะจงมากขึ้น
SQL LIKE
SQL LIKE ตัวดำเนินการค้นหาระเบียนในฐานข้อมูลที่มีค่าคอลัมน์ตรงกับรูปแบบเฉพาะ รูปแบบจะแสดงโดยใช้เครื่องหมายเปอร์เซ็นต์ ขีดล่าง และข้อความที่คุณกำลังค้นหา
ตัวอย่างเช่น เราสามารถใช้ LIKE เพื่อรับพนักงานทั้งหมดที่ชื่อลงท้ายด้วย S หรือชื่อที่มี Associate .
LIKE ตัวดำเนินการใช้อักขระตัวแทนเพื่อรับข้อมูลที่ตรงกับรูปแบบที่แน่นอน ไวด์การ์ดทั้งสองมักใช้กับ LIKE โอเปอเรเตอร์มีดังนี้:
_ – ขีดล่างแทนอักขระตัวเดียว
% – เครื่องหมายเปอร์เซ็นต์แสดงถึงศูนย์ หนึ่งอักขระขึ้นไป
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
นี่คือโครงสร้างของแบบสอบถามโดยใช้ LIKE โอเปอเรเตอร์:
SELECT column_name FROM table_name WHERE column_name LIKE pattern;
ในไวยากรณ์นี้ เราใช้ตัวดำเนินการ LIKE ในคำสั่ง SQL SELECT คุณสามารถใช้โอเปอเรเตอร์นี้ในคำสั่ง INSERT, UPDATE และ DELETE
ลองใช้ตัวอย่างเพื่อแสดงให้เห็นว่า SQL LIKE ทำงาน
ตัวอย่าง SQL LIKE
สมมติว่าเรามีตารางที่มีข้อมูลเกี่ยวกับพนักงานที่ทำงานให้กับธุรกิจ เราต้องการเรียกค้นชื่อและสาขาของพนักงานทุกคนที่ทำงานในสาขาที่ชื่อขึ้นต้นด้วยตัวอักษร S .
ในการดำเนินการนี้ เราสามารถใช้คำค้นหาต่อไปนี้:
SELECT name, branch FROM employees WHERE branch LIKE 'S%';
ฐานข้อมูลเซิร์ฟเวอร์ SQL ส่งคืน:
ชื่อ | สาขา |
ไมค์ | สแตมฟอร์ด |
เจฟฟ์ | ซานฟรานซิสโก |
ฮันนาห์ | ซานฟรานซิสโก |
(3 แถว)
เครื่องหมายเปอร์เซ็นต์หลังตัวอักษร S บอกรหัสว่าอยากได้ทุกสาขาที่มีชื่อขึ้นต้นด้วยตัวอักษร S . แบบสอบถามของเราส่งคืนทุกสตริงอักขระที่ตรงกัน
หากเราต้องการทราบชื่อและตำแหน่งของพนักงานทุกคนที่เป็นผู้ร่วมงาน รวมถึงพนักงานอาวุโส เราสามารถใช้คำค้นหานี้:
SELECT name, title FROM employees WHERE title LIKE '%Associate%';
แบบสอบถามของเราค้นหาพนักงานทั้งหมดที่มีชื่อตรงกับรูปแบบ ‘%Associate%’ แบบสอบถามส่งกลับค่าต่อไปนี้:
ชื่อ | หัวเรื่อง |
ลุค | พนักงานขาย |
ไมค์ | พนักงานขาย |
อเล็กซิส | พนักงานขาย |
ฮันนาห์ | พนักงานขาย |
เจฟฟ์ | พนักงานขายอาวุโส |
SQL ไม่เหมือนตัวอย่าง
เราสามารถใช้ NOT LIKE ตัวดำเนินการเพื่อเลือกระเบียนทั้งหมดที่ไม่ตรงตามเงื่อนไขที่กำหนด ไม่ชอบ คำสั่งคือการรวมกันของ SQL NOT และ LIKE คำแถลง. ไม่ คำสั่งค้นหาบันทึกที่ไม่ตรงตามเงื่อนไข
ตัวอย่างเช่น เราสามารถใช้ NOT LIKE เพื่อให้ได้ชื่อของพนักงานทุกคนที่มีชื่อยาวไม่เกินสี่ตัวอักษร นี่คือแบบสอบถาม SQL ที่เราสามารถใช้ได้เพื่อจุดประสงค์นี้:
SELECT name FROM employees WHERE name NOT LIKE '____';
แบบสอบถามของเราจะข้ามไปที่พนักงานทุกคนที่มีชื่อไม่ใช่สี่ตัวอักษรและส่งคืนส่วนที่เหลือ
เครื่องหมายขีดล่างแต่ละอันแสดงถึงอักขระหนึ่งตัว หากชื่อมีความยาวมากกว่าหรือน้อยกว่าสี่อักขระ ชื่อนั้นจะไม่ปรากฏในชุดผลลัพธ์ของเรา
ฐานข้อมูลของเราส่งคืนบันทึกทั้งหมดที่ตรงกับรูปแบบการค้นหาของเรา:
ชื่อ |
อเล็กซิส ฮันนาห์ โยนาห์ เจฟฟ์ |
(4 แถว)
บทสรุป
ตัวดำเนินการ SQL LIKE ให้คุณใช้รูปแบบเพื่อค้นหาบันทึกในฐานข้อมูล คุณสามารถใช้ระเบียนนี้เพื่อค้นหาระเบียนที่คล้ายกันโดยไม่ต้องระบุการจับคู่แบบตรงทั้งหมดซึ่งจะต้องตรงตาม ตัวดำเนินการ LIKE จะปรากฏในส่วน WHERE ของคำสั่ง SQL
ในบทความนี้ เราได้พูดถึงวิธีการใช้ LIKE SQL คำสั่งเพื่อให้คำถามของคุณเจาะจงมากขึ้น เราได้พูดคุยกันถึงวิธีที่คุณสามารถใช้ ไม่ชอบ คำสั่งเพื่อรับข้อมูลที่ไม่ตรงตามข้อกำหนดเฉพาะ
เราได้เขียนคู่มือที่ดีที่สุดสำหรับผู้เรียน SQL เพื่อช่วยให้คุณได้รับความรู้ที่จำเป็นสำหรับการเป็นนักพัฒนาฐานข้อมูลระดับมืออาชีพ ลองดูในหน้า How to Learn SQL ของเรา