آموزش رایگان صفر تا صد اسکیوال (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
عملگر AND در SQL چیست؟
در SQL، اگر بخواهیم چند شرط را همزمان بررسی کنیم، از عملگر AND استفاده میکنیم. یعنی فقط رکوردهایی نمایش داده میشوند که همه شرایط برقرار باشند.
🛠 یک مثال ساده
فرض کنید یک فروشگاه داریم و لیستی از مشتریان در یک جدول به نام Customers ذخیره شده است. حالا میخواهیم همه مشتریانی که در اسپانیا هستند و نامشان با “G” شروع میشود را پیدا کنیم:
SELECT *
FROM Customers
WHERE Country = 'Spain' AND CustomerName LIKE 'G%';
در بالا
🔹 Country = ‘Spain’ → کشور باید اسپانیا باشد.
🔹 CustomerName LIKE ‘G%’ → نام مشتری باید با “G” شروع شود.
نتیجه: فقط مشتریانی که هر دو شرط را دارند نمایش داده میشوند. ✅
📌 ساختار کلی دستور AND در SQL
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
📝 نکته: هر AND یک شرط جدید اضافه میکند و همه شرایط باید برقرار باشند.
⚡ مقایسه بین AND و OR
🔹 عملگر AND → فقط زمانی نتیجه را نمایش میدهد که همه شرایط درست باشند.
🔹 عملگر OR → اگر حتی یکی از شرایط درست باشد، نتیجه نمایش داده میشود.
📌 مثال:
SELECT *
FROM Customers
WHERE Country = 'Spain' AND CustomerName LIKE 'G%';
✅ نمایش داده میشود: فقط مشتریانی که هم اسپانیایی هستند و هم نامشان با “G” شروع میشود.
SELECT *
FROM Customers
WHERE Country = 'Spain' OR CustomerName LIKE 'G%';
✅ نمایش داده میشود:
- مشتریانی که در اسپانیا هستند (حتی اگر نامشان با “G” شروع نشود).
- مشتریانی که نامشان با “G” شروع میشود (حتی اگر از کشور دیگری باشند).
🏛 مثال از یک جدول مشتریان
در این مثال، اطلاعات برخی مشتریان در جدول Customers ذخیره شده است:
CustomerID | CustomerName | Country |
---|---|---|
1 | Alfreds Futterkiste | Germany |
2 | Ana Trujillo Emparedados | Mexico |
3 | Antonio Moreno Taquería | Mexico |
4 | Around the Horn | UK |
5 | Berglunds snabbköp | Sweden |
✅ همه شرایط باید درست باشند
حالا فرض کنید میخواهیم فقط مشتریانی را پیدا کنیم که:
1️⃣ در کشور آلمان (Germany) هستند.
2️⃣ در شهر برلین (Berlin) هستند.
3️⃣ کد پستیشان بزرگتر از 12000 است.
SELECT *
FROM Customers
WHERE Country = 'Germany'
AND City = 'Berlin'
AND PostalCode > 12000;
✅ فقط مشتریانی که هر سه شرط را دارند نمایش داده میشوند.
🔄 ترکیب AND و OR
گاهی نیاز داریم از AND و OR با هم استفاده کنیم. در این حالت، اولویت شرطها خیلی مهم است و باید از پرانتز ()
استفاده کنیم تا SQL متوجه شود اول باید کدام بخش را بررسی کند.
🎯 مثال:
میخواهیم همه مشتریانی را پیدا کنیم که:
- در اسپانیا هستند و نامشان با “G” یا “R” شروع میشود.
SELECT *
FROM Customers
WHERE Country = 'Spain' AND (CustomerName LIKE 'G%' OR CustomerName LIKE 'R%');
✅ پرانتز باعث میشود که ابتدا شرایط OR بررسی شود، سپس SQL بررسی کند که این مشتریان از اسپانیا هستند.
🚨 اگر پرانتز نگذاریم چه اتفاقی میافتد؟
SELECT *
FROM Customers
WHERE Country = 'Spain' AND (CustomerName LIKE 'G%' OR CustomerName LIKE 'R%');
🔴 این کد اشتباه است!
🔹 ابتدا SQL بررسی میکند که آیا مشتری از اسپانیا است و نامش با “G” شروع میشود.
🔹 سپس هر مشتریای که نامش با “R” شروع میشود را هم اضافه میکند، حتی اگر از اسپانیا نباشد! ❌
پس همیشه از پرانتز استفاده کنید تا نتیجهی درستی بگیرید! ✅
🏆 تمرین برای شما
یک دستور SQL بنویسید که مشتریانی را پیدا کند که:
1️⃣ در کشور فرانسه (France) هستند.
2️⃣ در شهر پاریس (Paris) هستند.
3️⃣ نامشان با “A” یا “B” شروع میشود.
🔹 جواب خودتان را در یک کامنت بنویسید! 🚀
🔥 جمعبندی
✅ AND → فقط زمانی نتیجه میدهد که همه شرایط درست باشند.
✅ OR → اگر حتی یکی از شرایط درست باشد، نتیجه نمایش داده میشود.
✅ استفاده از پرانتز ()
هنگام ترکیب AND و OR خیلی مهم است.
✅ مثالها و تمرینها بهترین راه برای یادگیری SQL هستند! 😍