"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > التعامل مع NULL في SQL

التعامل مع NULL في SQL

تم النشر بتاريخ 2024-07-31
تصفح:913

NULL Handling in SQL

مقدمة

يعد التعامل مع القيم NULL في SQL جانبًا أساسيًا يجب على كل متخصص في قواعد البيانات فهمه. تمثل NULL القيم المفقودة أو غير المحددة في جدول قاعدة البيانات، ومن الضروري التعامل مع هذه القيم بشكل صحيح لضمان سلامة ودقة عمليات البيانات الخاصة بك. سوف تتعمق هذه المقالة في مفهوم NULL في SQL، وآثاره، والاستراتيجيات المختلفة للتعامل مع القيم NULL.

فهم NULL في SQL

NULL في SQL هي علامة خاصة تستخدم للإشارة إلى عدم وجود قيمة بيانات في قاعدة البيانات. وهو لا يعادل سلسلة فارغة أو قيمة صفر. بدلا من ذلك، يشير NULL إلى غياب أي قيمة. يمكن أن يؤثر وجود قيم NULL في جدول قاعدة البيانات على نتائج الاستعلامات، خاصة عند إجراء عمليات مثل المقارنات والتجميعات والصلات.

الخصائص الرئيسية للNULL

  1. قيمة غير محددة: NULL تمثل قيمة غير معروفة أو غير محددة.
  2. عدم قابلية المقارنة: المقارنات التي تتضمن NULL (على سبيل المثال، =، ) تؤدي دائمًا إلى NULL، وليس TRUE أو FALSE.
  3. معالجة خاصة في الوظائف: العديد من وظائف SQL لها سلوك محدد عند التعامل مع القيم الخالية.

العمل مع NULL في SQL

التحقق من وجود NULL

للتحقق مما إذا كانت القيمة فارغة، يمكنك استخدام عوامل التشغيل IS NULL أو IS NOT NULL. على سبيل المثال:

SELECT * FROM employees WHERE manager_id IS NULL;

يسترجع هذا الاستعلام جميع الموظفين الذين ليس لديهم مدير.

NULL ومشغلي المقارنة

لا تعمل المقارنات المباشرة مع NULL باستخدام عوامل المقارنة القياسية (=، !=،

SELECT * FROM employees WHERE manager_id = NULL;

لن يُرجع هذا الاستعلام أي صفوف، حتى لو كانت بعض قيم manager_id فارغة. بدلاً من ذلك، يجب عليك استخدام:

SELECT * FROM employees WHERE manager_id IS NULL;

NULL في التجميعات

تتعامل وظائف التجميع مثل SUM وAVG وCOUNT وما إلى ذلك مع القيم NULL بشكل مختلف. على سبيل المثال، يتجاهل SUM وAVG القيم NULL، بينما يمكن لـ COUNT حسابها إذا تم تحديدها بشكل صريح.

SELECT SUM(salary) FROM employees;  -- NULL values are ignored
SELECT AVG(salary) FROM employees;  -- NULL values are ignored
SELECT COUNT(manager_id) FROM employees;  -- NULL values are ignored
SELECT COUNT(*) FROM employees WHERE manager_id IS NULL;  -- Counts only NULL values

التعامل مع NULL في الانضمامات

عند إجراء عمليات الصلات، يمكن أن تؤدي القيم الخالية إلى نتائج غير متوقعة. على سبيل المثال، INNER JOIN تستبعد الصفوف ذات القيم NULL في شرط الربط، بينما LEFT JOIN تتضمنها.

SELECT e.name, d.department_name
FROM employees e
LEFT JOIN departments d ON e.department_id = d.id;

يسترجع هذا الاستعلام جميع الموظفين، بما في ذلك أولئك الذين ليس لديهم قسم، بسبب LEFT JOIN.

التعامل مع NULL في استعلامات SQL

باستخدام COALESCE

ترجع الدالة COALESCE أول قيمة غير فارغة في قائمة التعبيرات. من المفيد استبدال NULL بقيمة افتراضية.

SELECT name, COALESCE(manager_id, 'No Manager') AS manager_id
FROM employees;

يستبدل هذا الاستعلام قيم NULL manager_id بالسلسلة "لا يوجد مدير".

باستخدام IFNULL أو ISNULL

توفر العديد من لهجات SQL وظائف مثل IFNULL (MySQL) أو ISNULL (SQL Server) للتعامل مع القيم NULL.

-- MySQL
SELECT name, IFNULL(manager_id, 'No Manager') AS manager_id FROM employees;

-- SQL Server
SELECT name, ISNULL(manager_id, 'No Manager') AS manager_id FROM employees;

باستخدام نوليف

ترجع الدالة NULLIF القيمة NULL إذا كانت الوسيطتان متساويتين؛ وإلا فإنه يقوم بإرجاع الوسيطة الأولى. وهو مفيد لتجنب القسمة على صفر أخطاء.

SELECT price / NULLIF(quantity, 0) AS unit_price
FROM products;

يمنع هذا الاستعلام القسمة على صفر عن طريق إرجاع NULL إذا كانت الكمية صفر.

أفضل الممارسات للتعامل مع NULL

  1. تحديد القيم الافتراضية: عند إنشاء الجداول، حدد القيم الافتراضية للأعمدة لتقليل تكرارات NULL.
  2. استخدام الوظائف المناسبة: استخدم وظائف مثل COALESCE وIFNULL وNULLIF للتعامل مع القيم NULL بفعالية.
  3. التحقق من صحة البيانات: قم بتنفيذ قواعد التحقق من صحة البيانات لمنع القيم الخالية عندما تكون غير مرغوب فيها.
  4. ضع في الاعتبار تصميم قاعدة البيانات: قم بتصميم مخطط قاعدة البيانات الخاصة بك للتعامل مع القيم NULL بشكل مناسب، مع الأخذ في الاعتبار التأثير على الاستعلامات والأداء.

خاتمة

يتطلب التعامل مع القيم NULL في SQL دراسة متأنية وفهم سلوكها في العمليات المختلفة. باستخدام وظائف SQL المناسبة والالتزام بأفضل الممارسات، يمكنك التأكد من أن استعلامات قاعدة البيانات الخاصة بك تنتج نتائج دقيقة وموثوقة. سواء كنت تقوم بالتحقق من وجود NULL، أو إجراء عمليات تجميع، أو الانضمام إلى الجداول، فإن المعالجة الصحيحة لـ NULL تعد أمرًا بالغ الأهمية للحفاظ على تكامل البيانات وتحقيق النتائج المطلوبة في عمليات SQL الخاصة بك.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/kellyblaire/null-handling-in-sql-1mp2?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3