البرمجة

استخدام مشغل NOT contains في PostgreSQL

عندما يتعلق الأمر بالاستعلامات في قواعد بيانات PostgreSQL واستخدام أعمدة jsonb، قد تصادف الحاجة إلى استخدام مشغل “NOT contains” للعثور على السجلات التي لا تحتوي على مفتاح معين أو قيمة في العمود jsonb. في هذا السياق، يمكنك استخدام مشغل “NOT @>” لتحقيق هذا الغرض.

لفهم ذلك بشكل أفضل، لنفترض أن لديك جدول يسمى jsonbtest يحتوي على عمود attributes من نوع jsonb. ولنفترض أيضًا أن هذا العمود يحتوي على بيانات مثل:

json
{ "City": "Mesa", "Country": "USA" }

الآن، إذا أردت البحث عن السجلات التي لا تحتوي على مفتاح “City” بقيمة “Mesa”، يمكنك استخدام الاستعلام التالي:

sql
SELECT COUNT(*) FROM jsonbtest WHERE NOT attributes @> '{"City": "Mesa"}';

هذا الاستعلام سيعيد عدد السجلات التي لا تحتوي على المفتاح “City” بالقيمة “Mesa”.

وهكذا، يمكنك استخدام مشغل “NOT @>” لتطبيق شرط “NOT contains” على أعمدة jsonb في PostgreSQL، وذلك للبحث عن السجلات التي لا تحتوي على مفتاح أو قيمة محددة.

المزيد من المعلومات

بالتأكيد، دعني أوسع شرحي لهذا الموضوع.

عند استخدام قاعدة بيانات PostgreSQL والتعامل مع البيانات المخزنة في أعمدة من نوع jsonb، فإنك تفتح الباب أمام إمكانيات كبيرة لتخزين البيانات المرنة والهيكلة بطريقة تسمح بالوصول السهل إليها والاستعلام عنها بطرق متنوعة. ومع ذلك، قد يكون البحث عن البيانات التي لا تحتوي على مفتاح معين أو قيمة معينة من البيانات المخزنة في الأعمدة jsonb تحدٍ يواجه المطورين.

في هذه الحالة، يأتي مشغل “NOT contains” في PostgreSQL ليحل هذه المشكلة بطريقة بسيطة وفعالة. يتيح لك هذا المشغل البحث عن السجلات التي لا تحتوي على مفتاح معين أو قيمة معينة في عمود jsonb. وللقيام بذلك، يمكنك استخدام مشغل “NOT @>” كما في الاستعلام التالي:

sql
SELECT COUNT(*) FROM jsonbtest WHERE NOT attributes @> '{"City": "Mesa"}';

هذا الاستعلام سيعيد عدد السجلات في الجدول jsonbtest التي لا تحتوي على مفتاح “City” بالقيمة “Mesa” في عمود attributes.

يجدر بالذكر أن استخدام عمود jsonb يتيح مرونة كبيرة في تخزين البيانات، ولكن يجب أيضًا مراعاة أداء الاستعلامات الخاصة بهذه الأعمدة، خاصة عند التعامل مع مجموعات كبيرة من البيانات. ينبغي أن تكون التركيبة الصحيحة بين مرونة التخزين وأداء الاستعلامات واحتياجات التطبيق هي الهدف الأساسي عند اختيار استخدام عمود jsonb.

باستخدام مشغل “NOT contains” في PostgreSQL، يصبح بإمكانك الآن البحث بسهولة عن البيانات التي لا تحتوي على مفتاح أو قيمة معينة في الأعمدة jsonb، مما يزيد من مرونة وقوة استعلاماتك في قاعدة البيانات.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر