آموزش رایگان صفر تا صد اسکیوال (SQL) به زبان ساده
-
آشنایی با SQL
-
آشنایی با دستورات SQL
-
دستور SELECT در SQL
-
دستور SQL SELECT DISTINCT
-
فیلتر کردن دادهها با WHERE در SQL
-
دستور ORDER BY در SQL
-
عملگر AND در SQL چیست؟
-
اپراتور OR در SQL
-
اپراتور NOT در SQL
-
دستور INSERT INTO در SQL
-
مقدار NULL در SQL
-
دستور UPDATE در SQL – بهروزرسانی اطلاعات جدول
-
دستور DELETE در SQL
-
مفهوم TOP، LIMIT، FETCH FIRST یا ROWNUM در SQL
-
توابع تجمیعی در SQL
-
معرفی توابع ()MIN و ()MAX در SQL
-
تابع COUNT() در SQL
-
تابع SUM() در SQL
-
تابع ()AVG در SQL
-
عملگر LIKE در SQL
-
استفاده از Wildcards در SQL
-
دستور IN در SQL
-
دستور BETWEEN در SQL
-
آشنایی با Aliases در SQL
-
مفهوم SQL JOIN
-
مفهوم INNER JOIN در SQL
اپراتور NOT در SQL
اپراتور NOT در SQL برای برعکس کردن یک شرط استفاده میشود. یعنی اگر یک شرط مقدار True داشته باشد، NOT آن را به False تبدیل میکند و برعکس. این ویژگی به ما کمک میکند که اطلاعاتی را انتخاب کنیم که مطابق با یک شرط خاص نباشند.
۱. استفاده از NOT همراه با = (برابر بودن) ❌
فرض کنید میخواهیم همهی مشتریانی را که از کشور اسپانیا نیستند، انتخاب کنیم. برای این کار میتوانیم از NOT همراه با =
استفاده کنیم:
📌 مثال: انتخاب مشتریانی که از اسپانیا نیستند
SELECT * FROM Customers
WHERE NOT Country = 'Spain';
✅ توضیح:
WHERE NOT Country = 'Spain'
یعنی تمام مشتریانی را انتخاب کن که کشورشان اسپانیا نباشد.
۲. استفاده از NOT LIKE (الگوهای متنی) 🔍
گاهی میخواهیم اطلاعاتی را حذف کنیم که مطابق یک الگوی خاص باشند. مثلا میخواهیم مشتریانی را انتخاب کنیم که نام آنها با حرف A شروع نشود.
📌 مثال: انتخاب مشتریانی که نامشان با A شروع نمیشود
SELECT * FROM Customers
WHERE CustomerName NOT LIKE 'A%';
✅ توضیح:
LIKE 'A%'
یعنی نامهایی که با A شروع میشوند.NOT LIKE 'A%'
یعنی نامهایی که با A شروع نمیشوند.
۳. استفاده از NOT BETWEEN (بین دو مقدار) 🔢
اگر بخواهیم مقادیری را که در یک بازه مشخص نیستند فیلتر کنیم، میتوانیم از NOT BETWEEN
استفاده کنیم. مثلا مشتریانی را پیدا کنیم که CustomerID آنها بین ۱۰ تا ۶۰ نباشد.
📌 مثال: انتخاب مشتریانی که شناسه آنها بین ۱۰ تا ۶۰ نباشد
SELECT * FROM Customers
WHERE CustomerID NOT BETWEEN 10 AND 60;
✅ توضیح:
BETWEEN 10 AND 60
یعنی اعدادی بین ۱۰ و ۶۰.NOT BETWEEN 10 AND 60
یعنی اعدادی خارج از این بازه.
۴. استفاده از NOT IN (نبودن در یک لیست) 📋
اگر بخواهیم رکوردهایی را انتخاب کنیم که مقدارشان در یک لیست مشخص نباشد، میتوانیم از NOT IN
استفاده کنیم. مثلا مشتریانی که از پاریس یا لندن نیستند.
📌 مثال: انتخاب مشتریانی که شهرشان پاریس یا لندن نیست
SELECT * FROM Customers
WHERE City NOT IN ('Paris', 'London');
✅ توضیح:
IN ('Paris', 'London')
یعنی فقط مشتریانی که در پاریس یا لندن هستند.NOT IN ('Paris', 'London')
یعنی مشتریانی که در پاریس یا لندن نیستند.
۵. استفاده از NOT برای مقایسههای عددی 🔢
میتوانیم از NOT
برای برعکس کردن عملگرهای مقایسهای مانند >
و <
استفاده کنیم.
✅ انتخاب مشتریانی که CustomerID آنها بیشتر از ۵۰ نباشد
SELECT * FROM Customers
WHERE NOT CustomerID > 50;
🔹 معادل کوتاهتر:
SELECT * FROM Customers
WHERE CustomerID !> 50;
✅ انتخاب مشتریانی که CustomerID آنها کمتر از ۵۰ نباشد
SELECT * FROM Customers
WHERE NOT CustomerID < 50;
🔹 معادل کوتاهتر:
SELECT * FROM Customers
WHERE CustomerID !< 50;
✅ توضیح:
NOT CustomerID > 50
یعنی مشتریانی که شناسه آنها بیشتر از ۵۰ نباشد (یعنی ۵۰ یا کمتر).NOT CustomerID < 50
یعنی مشتریانی که شناسه آنها کمتر از ۵۰ نباشد (یعنی ۵۰ یا بیشتر).
💡 تمرین برای شما 🎯
۱. یک کوئری بنویسید که همهی مشتریانی که کشورشان آلمان (Germany) نیست را انتخاب کند.
۲. مشتریانی را انتخاب کنید که کد پستی آنها بین ۲۰۰۰۰ تا ۵۰۰۰۰ نباشد.
۳. مشتریانی را پیدا کنید که از کشورهای مکزیک (Mexico) یا سوئد (Sweden) نباشند.
🔍 جواب خود را در SQL اجرا کنید و نتیجه را بررسی کنید!
📌 جمعبندی
✅ NOT
برای برعکس کردن شرطها در SQL استفاده میشود.
✅ میتوان از آن همراه با عملگرهای مقایسهای، LIKE، IN، و BETWEEN استفاده کرد.
✅ مثالهای مختلف شامل NOT =
, NOT LIKE
, NOT BETWEEN
, NOT IN
, NOT >
, NOT <
را بررسی کردیم.