SQL LIKE অপারেটর وا일্ডকার্ড ব্যবহার করে একটি নির্দিষ্ট প্যাটার্নের সাথে মিলে যাওয়া ডেটা খুঁজে বের করে। আপনি একটি ক্যারেক্টারের বদলে আন্ডারস্কোর এবং শূন্য, এক, বা একাধিক ক্যারেক্টারের বদলে পারসেন্ট সাইন ব্যবহার করতে পারেন।
আপনি কি কখনো এমন কলাম থেকে তথ্য পেতে চেয়েছেন যার মান অন্য একটি মানের সাথে মিলে যায়? উদাহরণস্বরূপ, আপনার একটি employees টেবিল আছে। হয়তো আপনি যেসব কর্মীর টাইটেলে "Sales" আছে তাদের তালিকা চান।
এখানেই SQL LIKE অপারেটর কাজে লাগে। এই আর্টিকেলে, আমরা SQL সার্ভারে LIKE অপারেটর কীভাবে ব্যবহার করতে হয় সেটি ভাঙে আলোচনা করব আরও স্পেসিফিক কোয়েরি করতে।
SQL LIKE
SQL LIKE অপারেটর একটি ডেটাবেসে সেই রেকর্ডগুলো খুঁজে বের করে যাদের কলাম মান একটি নির্দিষ্ট প্যাটার্নের সাথে মেলে। প্যাটার্নগুলো পারসেন্ট সাইন, আন্ডারস্কোর, এবং আপনি যা খুঁজছেন সেটির টেক্সট ব্যবহার করে এক্সপ্রেস করা হয়।
উদাহরণস্বরূপ, আমরা LIKE ব্যবহার করে সকল কর্মী পেতে পারি যাদের নাম S দিয়ে শেষ হয়, অথবা যাদের টাইটেলে Associate আছে।
LIKE অপারেটর وا일্ডকার্ড ক্যারেক্টার ব্যবহার করে নির্দিষ্ট প্যাটার্নের সাথে মিলে যাওয়া ডেটা পায়। LIKE অপারেটরসহ ব্যবহৃত দুটি وا일্ডকার্ড নিচে:
_ — আন্ডারস্কোর ক্যারেক্টার একটি একক ক্যারেক্টারকে প্রতীক বোঝায়।
% — পারসেন্ট সাইন শূন্য, এক, বা একাধিক ক্যারেক্টারকে প্রতীক বোঝায়।
এখানে LIKE অপারেটর ব্যবহার করে একটি কোয়েরির কাঠামো:
SELECT column_name FROM table_name WHERE column_name LIKE pattern;
এই সিনট্যাক্সে, আমরা একটি SQL SELECT স্টেটমেন্টে LIKE অপারেটর ব্যবহার করি। আপনি এই অপারেটর INSERT, UPDATE, এবং DELETE স্টেটমেন্টেও ব্যবহার করতে পারেন।
চলুন একটি উদাহরণ দিয়ে বুঝি SQL LIKE কীভাবে কাজ করে।
SQL LIKE উদাহরণ
ধরুন আমাদের কর্মীদের তথ্যের একটি টেবিল আছে। আমরা যেসব কর্মী এমন শাখায় কাজ করে যাদের নাম S অক্ষর দিয়ে শুরু হয়, তাদের নাম এবং শাখার নাম পেতে চাই।
এজন্য আমরা নিচের কোয়েরি ব্যবহার করতে পারি:
SELECT name, branch FROM employees WHERE branch LIKE 'S%';
SQL সার্ভার ডেটাবেস নিচের ফলাফল ফেরত দেয়:
| name | branch |
| Mike | Stamford |
| Geoff | San Francisco |
| Hannah | San Francisco |
(৩ সারি)
S অক্ষরের পরের পারসেন্ট সাইন আমাদের কোডকে বলে যে আমরা সেই সকল শাখা চাই যাদের নাম S অক্ষর দিয়ে শুরু হয়। আমাদের কোয়েরি প্রতিটি ক্যারেক্টার স্ট্রিং ম্যাচ ফেরত দেয়।
যদি আমরা যেসব কর্মী অ্যাসোসিয়েট (সিনিয়র অ্যাসোসিয়েটসহ) তাদের নাম এবং টাইটেল পেতে চাই, তবে আমরা এই কোয়েরি ব্যবহার করতে পারি:
SELECT name, title FROM employees WHERE title LIKE '%Associate%';
আমাদের কোয়েরি ‘%Associate%’ প্যাটার্নের সাথে মিলে যাওয়া সকল কর্মী খুঁজে বের করে। কোয়েরি নিচের ফলাফল ফেরত দেয়:
| name | title |
| Luke | Sales Associate |
| Mike | Sales Associate |
| Alexis | Sales Associate |
| Hannah | Sales Associate |
| Geoff | Senior Sales Associate |
SQL NOT LIKE উদাহরণ
আমরা NOT LIKE অপারেটর ব্যবহার করে সকল সিলেক্ট করতে পারি যেগুলো একটি নির্দিষ্ট শর্ত পূরণ করে না। NOT LIKE স্টেটমেন্ট হলো SQL NOT এবং LIKE স্টেটমেন্টের সংমিশ্রণ। NOT স্টেটমেন্ট সেই রেকর্ডগুলো খুঁজে বের করে যেগুলো একটি শর্ত পূরণ করে না।
উদাহরণস্বরূপ, আমরা NOT LIKE ব্যবহার করে যেসব কর্মীর নাম চার ক্যারেক্টারের নয় তাদের নাম পেতে পারি। এখানে একটি SQL কোয়েরি যা এই উদ্দেশ্যে ব্যবহার করা যায়:
SELECT name FROM employees WHERE name NOT LIKE '____';
আমাদের কোয়েরি যেসব কর্মীর নাম চার ক্যারেক্টারের নয় সেগুলো বাদ দিয়ে বাকিগুলো ফেরত দেবে।
প্রতিটি وا일্ডকার্ড আন্ডারস্কোর এক ক্যারেক্টারকে প্রতীক বোঝায়। যদি কোনো নাম চার ক্যারেক্টারের চেয়ে বড় বা ছোট হয়, তবে সেটি আমাদের ফলাফল সেটে দেখাবে না।
আমাদের ডেটাবেস আমাদের সার্চ প্যাটার্নের সাথে মিলে যাওয়া সকল রেকর্ড ফেরত দেয়:
| name |
| Alexis Hannah Jonah Geoff |
(৪ সারি)
উপসংহার
SQL LIKE অপারেটর আপনাকে প্যাটার্ন ব্যবহার করে ডেটাবেসে রেকর্ড খুঁজে বের করতে দেয়। আপনি এই রেকর্ড ব্যবহার করে সঠিক মিল নির্দিষ্ট না করেই সাদৃশ্য রেকর্ড খুঁজে পেতে পারেন। LIKE অপারেটর একটি SQL স্টেটমেন্টের WHERE সেকশনে প্রদর্শিত হয়।
এই আর্টিকেলে, আমরা আলোচনা করেছি LIKE SQL স্টেটমেন্ট কীভাবে ব্যবহার করে আপনার কোয়েরি আরও স্পেসিফিক করতে পারেন। আমরা NOT LIKE স্টেটমেন্ট কীভাবে ব্যবহার করে নির্দিষ্ট নিয়ম পূরণ না করে এমন তথ্য পাওয়া যায় সেটিও আলোচনা করেছি।
আমরা SQL শেখার জন্য একটি 궁극ের গাইড লিখেছি যাতে আপনি প্রফেশনাল ডেটাবেস ডেভেলপার হওয়ার জন্য প্রয়োজনীয় জ্ঞান অর্জন করতে পারেন। আমাদের How to Learn SQL পেজে চেক করুন।