استفاده از ویلدکاردها در SQL

sql wildcards introduction
20 آبان 1403

درک مفهوم ویلدکاردها در SQL

سلام دوستای عزیز! امروز می‌خواهیم درباره ویلدکاردها در SQL صحبت کنیم. چرا؟ چون این ویلدکاردها حسابی کارمون رو در جستجوهای پایگاه‌داده آسون می‌کنن. ویلدکاردها اون علامت‌های کوچیک هستن که می‌تونن به نمایندگی از یک یا چند کاراکتر در رشته استفاده بشن. جالب نیست؟

کاربردهای ویلدکاردها کجاها هستن؟

یه مثال ساده بگم! فرض کنین شما در یک پایگاه‌داده بزرگ، به دنبال همه محصولات با کلمه "کتاب" در نامشون هستین. اگه فقط بخواهید از عملگرهای معمولی استفاده کنین، ممکنه کمی طول بکشه تا همه اون‌ها رو پیدا کنین. اما با استفاده از ویلدکاردها، فوق‌العاده سریع‌تر می‌تونین این کار رو انجام بدید.

انواع ویلدکاردها در SQL

ویلدکاردهای معروف تو SQL دو تا هستن: % و _. هرکدوم کاربرد خاص خودشون رو دارن و در شرایط مختلف می‌تونن بسیار مفید باشن. استفاده درست از این ویلدکاردها می‌تونه خیلی از مسائل رو برای ما حل کنه.

درک مفهوم هر ویلدکارد

ویلدکارد % نماد هر تعدادی از کاراکتر هست. مثلاً اگه شما از %نرخ استفاده کنید، همه واژه‌هایی که با "نرخ" پایان می‌یابند رو می‌تونید پیدا کنید. در مقابل ویلدکارد _ نماد یکنام کاراکتر هست. مثلاً شما با عبارت _فت می‌تونید عباراتی مثل "رفت", "کفت" و غیره رو پیدا کنید.

یه نگاه به نحوهای استفاده از این ویلدکاردها داشته باشیم

در زیر می‌تونین چند نمونه کد با استفاده از ویلدکاردها در SQL ببینین:

SELECT * FROM products WHERE product_name LIKE 'کتاب%';\r\nSELECT * FROM products WHERE product_name LIKE '%کتاب';\r\nSELECT * FROM products WHERE product_name LIKE '_فت';\r\n

توضیحات خط به خط کد


SELECT * FROM products WHERE product_name LIKE 'کتاب%'; - این خط همه رکوردها در جدول محصولات رو که نام‌شون با "کتاب" شروع می‌شه برمی‌گردونه.
SELECT * FROM products WHERE product_name LIKE '%کتاب'; - این خط رکوردهایی با نام‌هایی که به "کتاب" پایان می‌یابند رو پیدا می‌کنه.
SELECT * FROM products WHERE product_name LIKE '_فت'; - این خط رکوردهایی که دقیقاً سه حرفی هستن و با "فت" پایان می‌یابند رو انتخاب می‌کنه.

سوالات متداول

؟

ویلدکارد در SQL برای چیست؟

؟

چه زمانی باید از ویلدکاردها استفاده کنیم؟

؟

چه تفاوتی بین %% و _ در SQL وجود دارد؟