SQL NULL Values

🔹 NULL چیست؟

  • در SQL مقدار NULL یعنی هیچ مقداری وجود ندارد (ناشناخته یا خالی).

  • NULL با 0 یا رشته خالی '' فرق دارد.

🔹 بررسی مقدار NULL

برای بررسی NULL از IS NULL و IS NOT NULL استفاده می‌کنیم (نه =).

مثال:

SELECT * FROM Employees WHERE ManagerID IS NULL;

🔹 تمام کارمندانی که مدیر ندارند برمی‌گرداند.

SELECT * FROM Employees WHERE ManagerID IS NOT NULL;

🔹 تمام کارمندانی که مدیر دارند برمی‌گرداند.

🔹 عملیات با NULL

  • هر محاسبه‌ای با NULL → نتیجه NULL می‌شود.

SELECT 5 + NULL; -- نتیجه NULL SELECT 'Hi' + NULL; -- نتیجه NULL

🔹 توابع برای کار با NULL

1️⃣ ()ISNULL (در SQL Server)

SELECT ISNULL(ManagerID, 0) AS Manager FROM Employees;

🔹 اگر مقدار ManagerID برابر NULL باشد، مقدار 0 جایگزین می‌شود.

2️⃣ ()IFNULL (در MySQL)

SELECT IFNULL(ManagerID, 'No Manager') AS Manager FROM Employees;

🔹 اگر مقدار NULL باشد، 'No Manager' جایگزین می‌شود.

3️⃣ ()COALESCE (استاندارد SQL)

SELECT COALESCE(ManagerID, 'N/A') AS Manager FROM Employees;

🔹 اولین مقدار غیر NULL را برمی‌گرداند.

🔹 مثال عملی

جدول Customers:

CustomerIDNameEmail
1Aliali@mail.com
2SaraNULL
3Rezareza@mail.com

کوئری:

SELECT Name, COALESCE(Email, 'No Email') AS ContactEmail FROM Customers;

🔹 خروجی:

NameContactEmail
Aliali@mail.com
SaraNo Email
Rezareza@mail.com


✅ خلاصه:

  • NULL یعنی مقدار ناشناخته.

  • برای بررسی از IS NULL / IS NOT NULL استفاده کن.

  • برای جایگزین کردن مقدار پیش‌فرض از ISNULL, IFNULL, یا COALESCE استفاده میشه.