مقدمه:
عملگرهای مقایسه ای در SQL جزو عناصر بنیادی زبان SQL محسوب می شوند و برای مقایسه دو مقدار با هم استفاده می شوند. این عملگرها برای فیلتر کردن داده ها، جستجو و مرتب سازی اطلاعات در پایگاه داده به کار می روند.
انواع عملگرهای مقایسه ای:
- مساوی:
=
- بزرگتر از:
>
- کوچکتر از:
<
- بزرگتر یا مساوی:
>=
- کوچکتر یا مساوی:
<=
- مخالف:
<>
مثال 1:
فرض کنید می خواهیم تمام مشتریانی که در شهر “تهران” زندگی می کنند را پیدا کنیم. می توانیم از کد زیر استفاده کنیم:
SELECT * FROM customers WHERE city = 'تهران';
در این کد، =
برای مقایسه مقدار ستون city
با "تهران"
استفاده شده است.
نکات:
- برای مقایسه رشته ها باید از
=
و نه==
استفاده کنید. - برای مقایسه مقادیر
NULL
باید ازIS NULL
وIS NOT NULL
استفاده کنید. - برای مقایسه تاریخ ها و زمان ها باید از توابع مخصوص SQL استفاده کنید.
کاربردهای دیگر:
- دستورات شرطی: برای تعیین مسیر اجرای برنامه
- جستجو: برای یافتن اطلاعات خاص در پایگاه داده
- مرتب سازی: برای مرتب کردن داده ها بر اساس معیارهای مختلف
مثال 2:
- انتخاب تمام کاربرانی که حقوق آنها بیشتر از 5 میلیون تومان است:
SELECT * FROM employees WHERE salary > 5000000;
- انتخاب تمام محصولاتی که قیمت آنها بین 100 تا 200 هزار تومان است:
SELECT * FROM products WHERE price BETWEEN 100000 AND 200000;
- انتخاب تمام سفارشاتی که در روز جاری ثبت شده اند:
SELECT * FROM orders WHERE date = CURRENT_DATE;
مثال جامع عملگرهای مقایسه ای در SQL
فرض کنید یک جدول به نام products
با ستون های زیر داریم:
id
(عدد صحیح): شناسه منحصر به فرد هر محصولname
(رشته): نام محصولprice
(عدد اعشاری): قیمت محصولquantity
(عدد صحیح): تعداد موجودی محصول
در ادامه چند مثال از کاربرد عملگرهای مقایسه ای در این جدول ارائه می دهیم:
1. پیدا کردن تمام محصولات با قیمت بیشتر از 100 هزار تومان:
SELECT * FROM products WHERE price > 100000;
2. نمایش نام و قیمت محصولاتی که موجودی آنها کمتر از 5 عدد است:
SELECT name, price FROM products WHERE quantity < 5;
3. جستجوی محصولاتی که نام آنها با “گوشی” شروع می شود:
SELECT * FROM products WHERE name LIKE 'گوشی%';
4. مرتب کردن محصولات بر اساس قیمت به ترتیب نزولی:
SELECT * FROM products ORDER BY price DESC;
5. یافتن ارزان ترین و گران ترین محصول:
SELECT name, price FROM products ORDER BY price ASC LIMIT 1;
SELECT name, price FROM products ORDER BY price DESC LIMIT 1;
6. پیدا کردن محصولاتی که قیمت آنها بین 50 هزار تا 150 هزار تومان است:
SELECT * FROM products WHERE price BETWEEN 50000 AND 150000;
7. نمایش 5 محصولی که به تازگی به جدول اضافه شده اند:
SELECT * FROM products ORDER BY id DESC LIMIT 5;
8. پیدا کردن محصولاتی که در دسته بندی “موبایل” قرار دارند:
SELECT * FROM products WHERE category = 'موبایل';
9. یافتن محصولاتی که نام آنها شامل “سامسونگ” یا “هواوی” است:
SELECT * FROM products WHERE name LIKE '%سامسونگ%' OR name LIKE '%هواوی%';
10. نمایش محصولاتی که قیمت آنها بیشتر از 100 هزار تومان است و موجودی آنها کمتر از 10 عدد است:
SELECT * FROM products WHERE price > 100000 AND quantity < 10;
این مثال ها فقط تعدادی از کاربردهای عملگرهای مقایسه ای در SQL را نشان می دهند. با استفاده از خلاقیت و ترکیب این عملگرها می توانید به اطلاعات مورد نظر خود در پایگاه داده دست پیدا کنید.
نکات مهم:
- برای مقایسه رشته ها باید از
=
و نه==
استفاده کنید. - برای مقایسه مقادیر
NULL
باید ازIS NULL
وIS NOT NULL
استفاده کنید. - برای مقایسه تاریخ ها و زمان ها باید از توابع مخصوص SQL استفاده کنید.