آموزش رایگان صفر تا صد اسکیوال (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
اپراتور OR در SQL
در SQL، گاهی اوقات لازم است دادههایی را فیلتر کنیم که حداقل یکی از چندین شرط مشخص را داشته باشند. برای این کار از اپراتور OR استفاده میکنیم.
۱. اپراتور OR چیست؟ 🤔
اپراتور OR
به ما کمک میکند که چندین شرط را با هم ترکیب کنیم، بهطوری که اگر حداقل یکی از شرایط برقرار باشد، نتیجه در خروجی نمایش داده شود.
🔹 مثال:
فرض کنید میخواهید لیست مشتریانی را ببینید که یا از آلمان (Germany) هستند یا از اسپانیا (Spain).
SELECT *
FROM Customers
WHERE Country = 'Germany' OR Country = 'Spain';
✅ نتیجه: اگر یک مشتری از آلمان باشد یا از اسپانیا، در خروجی نمایش داده خواهد شد.
۲. تفاوت بین OR و AND ⚖️
اپراتور | رفتار |
---|---|
OR | حداقل یکی از شرایط باید درست باشد. |
AND | همه شرایط باید درست باشند. |
🔹 مثال مقایسهای:
✅ استفاده از OR (یکی از شرایط کافی است):
SELECT * FROM Customers
WHERE City = 'Berlin' OR Country = 'Norway';
🔹 خروجی: تمام مشتریانی که یا در برلین هستند یا کشورشان نروژ است.
✅ استفاده از AND (هر دو شرط باید برقرار باشند):
SELECT * FROM Customers
WHERE City = 'Berlin' AND Country = 'Germany';
🔹 خروجی: فقط مشتریانی که هم در برلین هستند و هم کشورشان آلمان است.
۳. حداقل یک شرط باید برقرار باشد ✅
فرض کنید میخواهید لیست مشتریانی را ببینید که:
1️⃣ در شهر “برلین” هستند،
2️⃣ نام آنها با حرف “G” شروع میشود،
3️⃣ کشورشان “نروژ” است.
میتوانیم این کار را با OR
انجام دهیم:
SELECT * FROM Customers
WHERE City = 'Berlin' OR CustomerName LIKE 'G%' OR Country = 'Norway';
✅ هر مشتری که حداقل یکی از این شرایط را داشته باشد، نمایش داده میشود.
۴. ترکیب اپراتورهای AND و OR 🔀
گاهی اوقات میخواهیم ترکیبی از این دو اپراتور را استفاده کنیم. در این شرایط باید از پرانتز () برای اولویتبندی درست شرطها استفاده کنیم.
🔹 مثال:
فرض کنید میخواهید تمام مشتریانی که:
✅ از اسپانیا هستند و نامشان با “G” یا “R” شروع میشود، پیدا کنید.
SELECT * FROM Customers
WHERE Country = 'Spain' AND (CustomerName LIKE 'G%' OR CustomerName LIKE 'R%');
✅ نتیجه:
- فقط مشتریانی نمایش داده میشوند که از اسپانیا باشند و نامشان با “G” یا “R” شروع شود.
❌ اگر پرانتز نگذاریم:
SELECT * FROM Customers
WHERE Country = 'Spain' AND CustomerName LIKE 'G%' OR CustomerName LIKE 'R%';
🔹 این کوئری اشتباه عمل میکند و باعث میشود همه مشتریانی که نامشان با “R” شروع میشود (بدون توجه به کشورشان) هم نمایش داده شوند.
۵. تمرین! 🎯
حالا که با اپراتور OR
آشنا شدی، بیا چند تمرین حل کنیم:
1️⃣ کوئریای بنویس که تمام مشتریانی را نمایش دهد که یا در فرانسه هستند یا در شهر “Berlin” زندگی میکنند.
2️⃣ لیست مشتریانی را بگیر که نام آنها با “A” شروع میشود یا کشورشان “USA” است.
3️⃣ تمام مشتریانی که در “Germany” هستند و نامشان با “M” یا “S” شروع میشود را پیدا کن. (یادت نره که باید از پرانتز استفاده کنی!)