Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL

SQL Like:A How-To Guide

ตัวดำเนินการ 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 ของเรา