مقدمه:
عملگرهای مقایسه ای در SQL جزو عناصر بنیادی زبان SQL محسوب می شوند و برای مقایسه دو مقدار با هم استفاده می شوند. این عملگرها برای فیلتر کردن داده ها، جستجو و مرتب سازی اطلاعات در پایگاه داده به کار می روند.
انواع عملگرهای مقایسه ای:
- مساوی:
=
- بزرگتر از:
>
- کوچکتر از:
<
- بزرگتر یا مساوی:
>=
- کوچکتر یا مساوی:
<=
- مخالف:
<>
مثال ۱:
فرض کنید می خواهیم تمام مشتریانی که در شهر “تهران” زندگی می کنند را پیدا کنیم. می توانیم از کد زیر استفاده کنیم:
SELECT * FROM customers WHERE city = 'تهران';
در این کد، =
برای مقایسه مقدار ستون city
با "تهران"
استفاده شده است.
نکات:
- برای مقایسه رشته ها باید از
=
و نه==
استفاده کنید. - برای مقایسه مقادیر
NULL
باید ازIS NULL
وIS NOT NULL
استفاده کنید. - برای مقایسه تاریخ ها و زمان ها باید از توابع مخصوص SQL استفاده کنید.
کاربردهای دیگر:
- دستورات شرطی: برای تعیین مسیر اجرای برنامه
- جستجو: برای یافتن اطلاعات خاص در پایگاه داده
- مرتب سازی: برای مرتب کردن داده ها بر اساس معیارهای مختلف
مثال ۲:
- انتخاب تمام کاربرانی که حقوق آنها بیشتر از ۵ میلیون تومان است:
SELECT * FROM employees WHERE salary > ۵۰۰۰۰۰۰;
- انتخاب تمام محصولاتی که قیمت آنها بین ۱۰۰ تا ۲۰۰ هزار تومان است:
SELECT * FROM products WHERE price BETWEEN ۱۰۰۰۰۰ AND ۲۰۰۰۰۰;
- انتخاب تمام سفارشاتی که در روز جاری ثبت شده اند:
SELECT * FROM orders WHERE date = CURRENT_DATE;
مثال جامع عملگرهای مقایسه ای در SQL
فرض کنید یک جدول به نام products
با ستون های زیر داریم:
id
(عدد صحیح): شناسه منحصر به فرد هر محصولname
(رشته): نام محصولprice
(عدد اعشاری): قیمت محصولquantity
(عدد صحیح): تعداد موجودی محصول
در ادامه چند مثال از کاربرد عملگرهای مقایسه ای در این جدول ارائه می دهیم:
۱. پیدا کردن تمام محصولات با قیمت بیشتر از ۱۰۰ هزار تومان:
SELECT * FROM products WHERE price > ۱۰۰۰۰۰;
۲. نمایش نام و قیمت محصولاتی که موجودی آنها کمتر از ۵ عدد است:
SELECT name, price FROM products WHERE quantity < ۵;
۳. جستجوی محصولاتی که نام آنها با “گوشی” شروع می شود:
SELECT * FROM products WHERE name LIKE 'گوشی%';
۴. مرتب کردن محصولات بر اساس قیمت به ترتیب نزولی:
SELECT * FROM products ORDER BY price DESC;
۵. یافتن ارزان ترین و گران ترین محصول:
SELECT name, price FROM products ORDER BY price ASC LIMIT ۱;
SELECT name, price FROM products ORDER BY price DESC LIMIT ۱;
۶. پیدا کردن محصولاتی که قیمت آنها بین ۵۰ هزار تا ۱۵۰ هزار تومان است:
SELECT * FROM products WHERE price BETWEEN ۵۰۰۰۰ AND ۱۵۰۰۰۰;
۷. نمایش ۵ محصولی که به تازگی به جدول اضافه شده اند:
SELECT * FROM products ORDER BY id DESC LIMIT ۵;
۸. پیدا کردن محصولاتی که در دسته بندی “موبایل” قرار دارند:
SELECT * FROM products WHERE category = 'موبایل';
۹. یافتن محصولاتی که نام آنها شامل “سامسونگ” یا “هواوی” است:
SELECT * FROM products WHERE name LIKE '%سامسونگ%' OR name LIKE '%هواوی%';
۱۰. نمایش محصولاتی که قیمت آنها بیشتر از ۱۰۰ هزار تومان است و موجودی آنها کمتر از ۱۰ عدد است:
SELECT * FROM products WHERE price > ۱۰۰۰۰۰ AND quantity < ۱۰;
این مثال ها فقط تعدادی از کاربردهای عملگرهای مقایسه ای در SQL را نشان می دهند. با استفاده از خلاقیت و ترکیب این عملگرها می توانید به اطلاعات مورد نظر خود در پایگاه داده دست پیدا کنید.
نکات مهم:
- برای مقایسه رشته ها باید از
=
و نه==
استفاده کنید. - برای مقایسه مقادیر
NULL
باید ازIS NULL
وIS NOT NULL
استفاده کنید. - برای مقایسه تاریخ ها و زمان ها باید از توابع مخصوص SQL استفاده کنید.