อย่างที่เราทราบดีว่าตัวดำเนินการ NOT LIKE ถูกใช้พร้อมกับอักขระ WILDCARD เพราะไม่ได้รับสตริงที่มีสตริงที่ระบุ โดยพื้นฐานแล้ว WILDCARD คืออักขระที่ช่วยค้นหาข้อมูลที่ตรงกับเกณฑ์ที่ซับซ้อน ต่อไปนี้คือประเภทของไวด์การ์ดที่สามารถใช้ร่วมกับโอเปอเรเตอร์ NOT LIKE ได้:
% - เปอร์เซ็นต์
ไวด์การ์ด '%' ใช้เพื่อระบุรูปแบบ 0, 1 อักขระขึ้นไป ไวยากรณ์พื้นฐานสำหรับการใช้ % wildcard กับ NOT LIKE โอเปอเรเตอร์มีดังนี้:
Select Statement…Where column_name NOT LIKE ‘X%’
ที่นี่ X เป็นรูปแบบเริ่มต้นที่ระบุ เช่น อักขระตัวเดียวมากกว่า และ % ตรงกับจำนวนอักขระที่เริ่มต้นจาก 0
สัญลักษณ์ตัวแทนเปอร์เซ็นต์ '%' สามารถมีได้หลายวิธีด้วยรูปแบบที่ระบุ ต่อไปนี้คือตัวอย่างบางส่วนที่แสดงตัวดำเนินการ NOT LIKE ที่แตกต่างกันด้วย % ในตัวอย่างเหล่านี้ X แสดงถึงรูปแบบที่ระบุ:
1. ไม่เหมือน 'X%' :มันจะค้นหาค่าอื่นใดนอกจากที่ขึ้นต้นด้วย “X”
ตัวอย่าง
mysql> Select * from Student Where Name NOT LIKE 'a%'; +------+---------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 15 | Harshit | Delhi | Commerce | 2009 | | 20 | Gaurav | Jaipur | Computers | 2017 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+-----------+--------------------+ 4 rows in set (0.00 sec)
2. ไม่ชอบ '%X': โดยจะค้นหาค่าอื่นๆ นอกเหนือจากที่ลงท้ายด้วย “X”
ตัวอย่าง
mysql> Select * from Student Where Name NOT LIKE '%v'; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+----------+--------------------+ | 15 | Harshit | Delhi | Commerce | 2009 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+----------+--------------------+ 2 rows in set (0.00 sec)
3. ไม่ชอบ '%X%': โดยจะค้นหาค่าอื่นๆ นอกเหนือจากที่มี “X” ในตำแหน่งใดๆ
ตัวอย่าง
mysql> Select * from Student Where Name NOT LIKE '%h%'; +------+--------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+--------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 2 | Aarav | Mumbai | History | 2010 | | 20 | Gaurav | Jaipur | Computers | 2017 | +------+--------+---------+-----------+--------------------+ 3 rows in set (0.00 sec)
4. ไม่เหมือน 'X%X' : โดยจะค้นหาค่าอื่นๆ นอกเหนือจากที่ขึ้นต้นด้วย “X” และลงท้ายด้วย “X”
ตัวอย่าง
mysql> Select * from Student Where Name NOT LIKE 'a%v'; +------+---------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 15 | Harshit | Delhi | Commerce | 2009 | | 20 | Gaurav | Jaipur | Computers | 2017 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+-----------+--------------------+ 4 rows in set (0.00 sec)
_ ขีดล่าง
สัญลักษณ์ขีดล่างใช้เพื่อจับคู่อักขระหนึ่งตัว ไวยากรณ์พื้นฐานสำหรับการใช้ _ wildcard กับ NOT LIKE โอเปอเรเตอร์มีดังนี้:
เลือกคำชี้แจง…โดยที่ column_name ไม่เหมือน ‘X_’
ที่นี่ X เป็นรูปแบบเริ่มต้นที่ระบุใดๆ เช่น อักขระตัวเดียวของ more และ _ ตรงกับอักขระหนึ่งตัวเท่านั้น
สามารถใช้ wildcard ขีดล่าง '_' เพียงอย่างเดียวหรือใช้ร่วมกับ % ได้หลายวิธีตามรูปแบบที่ระบุ ต่อไปนี้คือตัวอย่างบางส่วนที่แสดงตัวดำเนินการ NOT LIKE ที่แตกต่างกันด้วย % ในตัวอย่างเหล่านี้ X แสดงถึงรูปแบบที่ระบุ:
1. ไม่เหมือน 'X_': โดยจะค้นหาค่าอื่นๆ นอกเหนือจากที่ขึ้นต้นด้วย “X” และมีเพียงหนึ่งอักขระหลัง X
ตัวอย่าง
mysql> Select * from Student Where Year_of_Admission NOT LIKE '200_'; +------+--------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+--------+---------+-----------+--------------------+ | 2 | Aarav | Mumbai | History | 2010 | | 20 | Gaurav | Jaipur | Computers | 2017 | +------+--------+---------+-----------+--------------------+ 2 rows in set (0.00 sec)
2. ไม่เหมือน '_X': โดยจะค้นหาค่าอื่นๆ นอกเหนือจากที่ลงท้ายด้วย “X” และมีเพียงหนึ่งอักขระก่อน X
ตัวอย่าง
mysql> Select * from Student Where Year_of_Admission NOT LIKE '_017'; +------+---------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+---------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 2 | Aarav | Mumbai | History | 2010 | | 15 | Harshit | Delhi | Commerce | 2009 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+-----------+--------------------+ 4 rows in set (0.00 sec)
3. ไม่ชอบ _X%: ร่วมกับ % wildcard มันจะค้นหาค่าอื่นใดนอกจากที่มี X ในตำแหน่งที่สอง
ตัวอย่าง
mysql> Select * from Student Where Name NOT LIKE '_a%'; Empty set (0.00 sec)
4. ไม่เหมือน X_%_%: ร่วมกับ % wildcard โดยจะค้นหาค่าอื่นๆ นอกเหนือจากที่ขึ้นต้นด้วย X และมีความยาวอย่างน้อย 3 อักขระ
ตัวอย่าง
mysql> Select * from Student Where Name NOT LIKE 'g_%_%'; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+----------+--------------------+ | 2 | Aarav | Mumbai | History | 2010 | | 15 | Harshit | Delhi | Commerce | 2009 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+----------+--------------------+ 3 rows in set (0.00 sec)