سكل (لغة الاستعلام منظم) هي واحدة من لغات البرمجة الأكثر شعبية للعمل مع قواعد البيانات العلائقية. واحدة من المهام الشائعة عند العمل مع استعلامات سكل هو إخراج القيم غير الصفرية فقط من قاعدة البيانات. في هذه المقالة ، سننظر في العديد من الطرق والحلول الفعالة لحل هذه المشكلة.
الطريقة الأولى هي استخدام بيان سكل أين لتصفية البيانات. يسمح لك عامل التشغيل حيث بتحديد شرط يجب الوفاء به لإخراج البيانات. إذا تم إخراج القيم غير الصفرية فقط ، فقد يكون الشرط كما يلي: حيث لا يكون اسم العمود فارغا. سيؤدي هذا الشرط إلى استبعاد القيم الفارغة وإخراج القيم غير الصفرية فقط.
طريقة فعالة أخرى هي استخدام وظيفة سكل كواليس. تتيح لك وظيفة الاندماج تحديد أول قيمة غير صفرية من قائمة الوسائط. على سبيل المثال ، في الاستعلام حدد دمج (اسم العمود ، 0) كعمود من اسم الجدول;، ستعيد دالة الاندماج قيمة غير صفرية لعمود اسم العمود إذا كان موجودا ، وإلا سيتم إرجاع القيمة 0.
في بعض الأحيان يمكن كتابة القيم غير الصفرية كسلاسل فارغة أو أحرف أخرى. في مثل هذه الحالات ، يمكنك استخدام وظيفة سكل تريم لإزالة الأحرف غير الضرورية ثم تطبيق عامل التشغيل حيث لتصفية القيم غير الصفرية فقط. على سبيل المثال ، حدد الاستعلام اسم العمود من اسم الجدول أين تقليم(اسم العمود) != "؛يسمح لك بتحديد القيم غير الصفرية فقط لعمود اسم العمود ، أثناء حذف الصفوف الفارغة.
- طرق الحصول على قيم غير صفرية في سكل
- 1. باستخدام شرط أين
- 2. باستخدام وظيفة الاندماج
- 3. باستخدام مشغل إسنول
- 4. باستخدام وظيفة نلف
- 5. استخدام الاستعلامات الفرعية
- أ) استخدام عبارة التحديد مع شرط أين
- ب) تطبيق وظيفة ليست فارغة
- حلول لتصفية القيم غير الصفرية في سكل
- استخدام المشغل ليس فارغا
- باستخدام وظيفة الاندماج
- باستخدام المسند غير الفارغ
- باستخدام المشغل أو !=
- باستخدام وظيفة نلف
- باستخدام القضية عند المشغل
- سؤال وجواب
- كيف يمكنني الحصول على قيم غير صفرية من جدول في سكل?
- كيف يمكنني إخراج فقط تلك الصفوف حيث قيمة العمود أكبر من الصفر?
- كيف يمكنني إخراج قيم فريدة غير صفرية فقط?
- كيف يمكنني عرض عدد القيم غير الصفرية في عمود?
- كيف يمكنني إخراج قيم غير صفرية من أعمدة متعددة?
طرق الحصول على قيم غير صفرية في سكل
عند العمل مع قواعد بيانات سكل ، ليس من الصعب مواجهة الحاجة إلى الحصول على قيم غير صفرية فقط. تتناول هذه المقالة عدة طرق فعالة للحصول على قيم غير صفرية في سكل.
1. باستخدام شرط أين
الطريقة الأبسط والأكثر شيوعا للحصول على قيم غير صفرية هي استخدام حالة أين. يتيح لك ذلك تصفية الصفوف التي تحتوي على قيم فارغة لعمود معين. على سبيل المثال ، سيحدد الاستعلام التالي جميع القيم غير الصفرية من عمود "الاسم" في جدول " المستخدمون:
اختر الاسم
من المستخدمين
حيث الاسم ليس فارغا;
2. باستخدام وظيفة الاندماج
يمكن أيضا استخدام دالة الاندماج للحصول على قيم غير صفرية. يقوم بإرجاع أول قيمة غير صفرية من قائمة الوسائط. إذا كانت جميع الوسائط فارغة ، فإنها ترجع فارغة. باستخدام هذه الوظيفة ، يمكنك تقديم الطلب التالي:
اختر دمج (الاسم ،' لا اسم')
من المستخدمين;
سيقوم هذا الاستعلام بإرجاع جميع القيم من عمود "الاسم" ، واستبدال القيم الفارغة بالسلسلة"لا اسم".
3. باستخدام مشغل إسنول
المشغل إيسنول يسمح لك لاستبدال قيمة فارغة مع قيمة أخرى. فإنه يأخذ وسيطتين: القيمة التي سيتم التحقق منها والقيمة لتحل محل قيمة فارغة مع. مثال على استخدام مشغل إسنول:
حدد إيسنول (الاسم ، 'لا اسم')
من المستخدمين;
سيؤدي هذا الاستعلام إلى إرجاع جميع القيم من عمود "الاسم" ، واستبدال القيم الفارغة بسلسلة" لا اسم".
4. باستخدام وظيفة نلف
تسمح لك وظيفة نولف بمقارنة قيمتين وإرجاع قيمة فارغة إذا كانت متساوية. يستغرق وسيطتين: القيمة الأولى والقيمة الثانية. مثال على استخدام وظيفة نلف:
اختر نلف (الاسم ، 'لا اسم')
من المستخدمين;
سيعرض هذا الاستعلام جميع القيم من عمود "الاسم" ، ليحل محل القيم المساوية لسلسلة" لا اسم " مع نول.
5. استخدام الاستعلامات الفرعية
للحالات الأكثر تعقيدا ، يمكنك استخدام الاستعلامات الفرعية للحصول على قيم غير صفرية. على سبيل المثال ، سيعرض الاستعلام التالي جميع القيم غير الصفرية من عمود "الاسم" ، حيث يكون عمود "العمر" أكبر من 18:
اختر الاسم
من المستخدمين
حيث العمر > 18 والاسم ليس فارغا;
هذا يسمح لك بدمج عدة شروط للحصول على النتائج المرجوة.
في الختام ، هناك عدة طرق للحصول على قيم غير صفرية في سكل. يعتمد اختيار الطريقة على المهمة المحددة وتفضيلات المطور. يمكن أن تكون كل طريقة من هذه الطرق فعالة في مواقف معينة.
أ) استخدام عبارة التحديد مع شرط أين
واحدة من أبسط الطرق وأكثرها فعالية لإخراج القيم غير الصفرية في سكل هو استخدام بيان سيليكت مع أين الشرط. للقيام بذلك ، حدد العمود الذي يحتاج إلى التحقق من قيمة فارغة ، ثم قم بإضافة شرط حيث ، مشيرا إلى أن قيمة هذا العمود ليست فارغة.
مثال:
حدد اسم العمود
من اسم_الجدول
حيث لا يكون اسم العمود فارغا;
في هذا المثال ، نختار قيما من عمود اسم العمود في جدول اسم الجدول ، بشرط ألا تكون قيمة هذا العمود فارغة. وبالتالي ، سيتم إخراج القيم غير الصفرية فقط.
يتم استخدام عامل التشغيل ليس فارغا للتحقق من قيمة فارغة. عندما تكون قيمة العمود فارغة ، فإن عامل التشغيل ليس فارغا يرجع خطأ ، ولن يتم تحديد هذه القيم.
من السهل تطبيق هذه الطريقة على سيناريوهات مختلفة حيث يجب أخذ القيم غير الصفرية فقط في الاعتبار. على سبيل المثال ، إذا أردنا عرض قائمة بالعملاء الذين لديهم رقم هاتف ، فيمكننا استخدام استعلام سكل التالي:
حدد اسم العميل ، رقم الهاتف
من العملاء
حيث رقم الهاتف ليس فارغا;
في هذا المثال ، نختار أسماء العملاء وأرقام الهواتف من جدول العملاء ، بشرط ألا يكون رقم الهاتف فارغا. وبالتالي ، سيتم عرض العملاء الذين لديهم أرقام هواتف غير صفرية فقط.
ب) تطبيق وظيفة ليست فارغة
طريقة أخرى فعالة لإخراج القيم غير الصفرية في سكل هو استخدام وظيفة ليست فارغة. يسمح لك بالتحقق مما إذا كانت قيمة العمود غير صفرية.
بناء جملة استعلام باستخدام الدالة ليست فارغة كما يلي:
حدد اسم العمود
من اسم_الجدول
حيث لا يكون اسم العمود فارغا;
هنا اسم العمود هو اسم العمود الذي تريد التحقق من وجود قيم غير صفرية فيه ، واسم الجدول هو اسم الجدول الذي يوجد فيه هذا العمود.
على سبيل المثال ، إذا أردنا إخراج جميع القيم غير الصفرية لعمود" الاسم "من جدول" المستخدمون " ، فيمكننا استخدام الاستعلام التالي:
اختر الاسم
من المستخدمين
حيث الاسم ليس فارغا;
سيعيد هذا الاستعلام جميع الصفوف التي لا تكون فيها قيمة عمود "الاسم" فارغة.
الدالة ليست فارغة مفيدة بشكل خاص إذا أردنا استبعاد القيم الفارغة عند إجراء عمليات حسابية وعمليات مختلفة على البيانات.
إن استخدام الدالة غير الفارغة يجعل من الممكن تبسيط الاستعلامات بشكل كبير والحصول على البيانات التي نحتاجها فقط ، مع تجنب القيم الفارغة غير الضرورية.
حلول لتصفية القيم غير الصفرية في سكل
تصفية القيم غير الصفرية هي مهمة شائعة في سكل. في هذا القسم ، سننظر في العديد من الطرق والحلول الفعالة التي ستساعدك على تحديد السجلات غير الصفرية فقط من قاعدة البيانات.
استخدام المشغل ليس فارغا
واحدة من أسهل الطرق لتصفية القيم غير الصفرية في سكل هو استخدام المشغل ليس فارغا. يتم استخدام هذا المشغل في جملة أين للتحقق من أن قيمة العمود ليست فارغة.
مثال:
اختر *
من اسم_الجدول
حيث لا يكون اسم العمود فارغا;
باستخدام وظيفة الاندماج
تتيح لك وظيفة الاندماج تحديد أول قيمة غير صفرية من القائمة. يمكن أن يكون هذا مفيدا عندما تحتاج إلى تحديد قيمة من أعمدة أو تعبيرات متعددة.
مثال:
حدد تجمع(العمود 1, العمود 2,...)
من اسم_الجدول;
باستخدام
المسند غير الفارغ غير الفارغ هو المسند الذي يمكن استخدامه لتصفية القيم غير الصفرية. يمكن استخدام هذا المسند في جملة أين للتحقق من أن قيمة العمود ليست فارغة.
مثال:
اختر *
من اسم_الجدول
حيث اسم العمود غير فارغ;
باستخدام المشغل أو !=
مشغلي و != تستخدم لمقارنة قيم الأعمدة والتحقق من عدم المساواة. يمكن استخدامها لتصفية القيم غير الصفرية.
مثال:
اختر *
من اسم_الجدول
حيث اسم العمود لاغية;
-- أو
أين اسم العمود != لاغية;
باستخدام وظيفة نلف
تسمح لك وظيفة نلف باستبدال قيمة العمود بقيمة فارغة إذا كانت تساوي قيمة معينة. يمكن استخدام هذا لتصفية القيم غير الصفرية عن طريق استبدالها بقيم فارغة.
مثال:
حدد نلف (اسم العمود ، 0)
من اسم_الجدول;
كانت هذه بعض الطرق لتصفية القيم غير الصفرية في سكل. اختر الطريقة الأكثر ملاءمة لمهمة محددة واستخدامها في الاستعلامات الخاصة بك.
«`
باستخدام القضية عند المشغل
الحالة التي يسمح فيها المشغل بتعيين قيمة مشروطة لعمود اعتمادا على ظروف مختلفة. كجزء من مهمة إخراج قيم سكل غير الصفرية ، يمكن أن يكون هذا المشغل مفيدا جدا.
بناء جملة الحالة عندما تبدو العبارة كما يلي:
القضية
عند الشرط1 ثم القيمة1
عند الشرط2 ثم القيمة2
...
قيمة أخرى بالصمت
النهاية
الحالة التي يمكن فيها استخدام المشغل لإخراج قيم غير صفرية عن طريق التحقق من شروط الصفر. على سبيل المثال ، إذا كنت بحاجة إلى إخراج قيم موجبة فقط من السعر:
حدد العمود
الحالة عندما يكون السعر > 0 ثم السعر آخر 0 ينتهي بسعر إيجابي
من عند
المنتجات;
وبالتالي ، نتيجة لذلك ، سيتم إخراج القيم الأكبر من الصفر فقط ، وسيتم استبدال الباقي بصفر.
الحالة التي يمكن فيها أيضا استخدام المشغل للتحقق من وجود قيمة خاضعة للمساءلة (فارغة) واستبدالها بقيمة أخرى. على سبيل المثال ، إذا كنت بحاجة إلى استبدال القيم الخاضعة للمساءلة في عمود الكمية بالقيمة "غير متوفر":
اختر
حالة عندما تكون الكمية فارغة ثم' ن/أ ' آخر كمية نهاية كمية_ مع_الافتراضي
من عند
المنتجات;
نتيجة لذلك ، سيتم استبدال القيم الخاضعة للمساءلة بالسلسلة" غير متوفر " ، وستظل جميع القيم الأخرى دون تغيير.
«`
سؤال وجواب
كيف يمكنني الحصول على قيم غير صفرية من جدول في سكل?
لإخراج قيم غير صفرية من جدول في سكل ، يمكنك استخدام المشغل حيث في تركيبة مع المشغل ليس فارغا. على سبيل المثال ، حدد * من الجدول حيث العمود ليس فارغا;
كيف يمكنني إخراج فقط تلك الصفوف حيث قيمة العمود أكبر من الصفر?
لإخراج تلك الصفوف فقط حيث تكون قيمة العمود أكبر من الصفر ، يمكنك استخدام عامل التشغيل وعوامل المقارنة. على سبيل المثال ، حدد * من الجدول حيث العمود > 0;
كيف يمكنني إخراج قيم فريدة غير صفرية فقط?
لإخراج قيم غير صفرية فريدة فقط ، يمكنك استخدام عامل التشغيل المميز بالاشتراك مع عامل التشغيل حيث ليس فارغا. على سبيل المثال ، حدد عمود متميز من الجدول حيث العمود ليس فارغا;
كيف يمكنني عرض عدد القيم غير الصفرية في عمود?
لإخراج عدد القيم غير الصفرية في عمود ، يمكنك استخدام وظيفة العد بالاشتراك مع عامل التشغيل حيث ليس فارغا. على سبيل المثال ، حدد عدد (*) من الجدول حيث العمود ليس فارغا;
كيف يمكنني إخراج قيم غير صفرية من أعمدة متعددة?
لإخراج قيم غير صفرية من أعمدة متعددة ، يمكنك استخدام عامل التشغيل حيث بالاشتراك مع عامل التشغيل ليس فارغا و أو عامل التشغيل لكل عمود. على سبيل المثال ، حدد * من الجدول حيث العمود 1 ليس فارغا أو العمود 2 ليس فارغا;