الكلمات الأساسية في Azure Cosmos DB ل NoSQL

ينطبق على: NoSQL

تتضمن لغة استعلام Azure Cosmos DB ل NoSQL مجموعة من الكلمات الأساسية المحجوزة المستخدمة في الاستعلامات للوظائف الموسعة.

‏‏بين

BETWEEN يتم تقييم الكلمة الأساسية إلى قيمة منطقية تشير إلى ما إذا كانت القيمة الهدف بين قيمتين محددتين، ضمنا.

يمكنك استخدام BETWEEN الكلمة الأساسية مع عبارة WHERE للتعبير عن الاستعلامات التي تصفي النتائج مقابل نطاقات من السلسلة أو القيم الرقمية. على سبيل المثال، يقوم الاستعلام التالي بإرجاع جميع العناصر التي يكون السعر فيها بين 17.25 و 25.50، مرة أخرى شاملة.

SELECT VALUE
    p.price
FROM
    products p
WHERE
    p.price BETWEEN 17.25 AND 25.50
[
  20
]

يمكنك أيضاً استخدام الكلمة الرئيسية BETWEEN في عبارة SELECT، كما في المثال التالي.

SELECT 
    (p.price BETWEEN 0 AND 10) AS booleanLessThanTen,
    p.price
FROM
    products p
[
  {
    "booleanLessThanTen": false,
    "price": 20.0
  },
  {
    "booleanLessThanTen": true,
    "price": 7.5
  }
]

إشعار

في واجهة برمجة التطبيقات ل NoSQL، على عكس ANSI SQL، يمكنك التعبير عن استعلامات النطاق مقابل خصائص الأنواع المختلطة. على سبيل المثال، قد يكون price رقماً مثل 5.0 في بعض العناصر وسلسلة مثل fifteenDollars في عناصر أخرى. في هذه الحالات، كما هو الحال في JavaScript، تؤدي المقارنة بين النوعين المختلفين إلى undefined، لذلك يتم تخطي العنصر.

مميز

تلغي DISTINCT الكلمة الأساسية التكرارات في نتائج الاستعلام المتوقعة.

في هذا المثال، يعرض الاستعلام قيما لكل فئة منتج. إذا كانت فئتان مكافئتين، يتم إرجاع تكرار واحد فقط في النتائج.

SELECT DISTINCT VALUE
    p.category
FROM
    products p
[
  "Accessories",
  "Tools"
]

يمكنك أيضا عرض القيم حتى إذا لم يكن الحقل الهدف موجودا. في هذه الحالة، الحقل غير موجود في أحد العناصر، لذلك يقوم الاستعلام بإرجاع كائن فارغ لتلك القيمة الفريدة المحددة.

SELECT DISTINCT
    p.category
FROM
    products p

والنتائج هي:

[
  {},
  {
    "category": "Accessories"
  },
  {
    "category": "Tools"
  }
]

LIKE

إرجاع قيمة منطقية استنادا إلى ما إذا كانت سلسلة أحرف معينة تطابق نمطا محددا. يمكن أن يشتمل النمط على أحرف عادية وأحرف بدل.

تلميح

يمكنك كتابة استعلامات مكافئة منطقيا باستخدام LIKE الكلمة الأساسية أو RegexMatch وظيفة النظام. ستلاحظ استخدام الفهرس نفسه بغض النظر عن الخيار الذي تختاره. يعتمد اختيار الخيار الذي يجب استخدامه إلى حد كبير على تفضيل بناء الجملة.

إشعار

نظراً إلى أنه يمكن لـ LIKE استخدام الفهرس، يجب عليك إنشاء فهرس نطاق للخصائص التي تقارن بينها باستخدام LIKE.

يمكنك استخدام أحرف البدل التالية مع LIKE:

‏‏الوصف مثال
% أي سلسلة من صفر أو أكثر من الأحرف. WHERE c.description LIKE "%SO%PS%"
_(تسطير أسفل السطر) أي حرف واحد. WHERE c.description LIKE"%SO_PS%"
[ ] أي حرف واحد ضمن النطاق المحدد ([a-f]) أو مجموعة ([abcdef]). WHERE c.description LIKE "%SO[t-z]PS%"
[^] أي حرف واحد ليس ضمن النطاق المحدد ([^a-f]) أو مجموعة ([^abcdef]). WHERE c.description LIKE "%SO[^abc]PS%"

يتطابق الحرف % مع أي سلسلة مكونة من صفر أو أكثر من الأحرف. على سبيل المثال، عن طريق وضع % في بداية النمط ونهاته، يقوم الاستعلام التالي بإرجاع كافة العناصر حيث يحتوي الحقل المحدد على العبارة كسلسلة فرعية:

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.name LIKE "%driver%"

إذا كنت تستخدم حرفا % فقط في نهاية النمط، فسترجع العناصر فقط مع وصف يبدأ ب fruit:

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.name LIKE "%glove"

وبالمثل، تشير حرف البدل في بداية النمط إلى أنك تريد مطابقة القيم مع القيمة المحددة كبادئة:

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.name LIKE "Road%"

NOT الكلمة الأساسية عكس نتيجة LIKE تقييم تعبير الكلمة الأساسية. يقوم هذا المثال بإرجاع كافة العناصر التي لا تتطابق مع LIKE التعبير.

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.name NOT LIKE "%winter%"

يمكنك البحث عن الأنماط التي تتضمن حرف بدل واحدا أو أكثر باستخدام العبارة ESCAPE . على سبيل المثال، إذا كنت تريد البحث عن الأوصاف التي تحتوي على السلسلة 20%، فلن ترغب في % تفسير كحرف بدل. يفسر ^ هذا المثال كحرف إلغاء حتى تتمكن من إلغاء مثيل معين من %.

SELECT VALUE
    p.name
FROM
    products p
WHERE
    p.description LIKE "%20^%%" ESCAPE "^"

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

القيمة التي تم تحليلها
LIKE "20-30[%]" 20-30%
LIKE "[_]n" _n
LIKE "[ [ ]" [
LIKE "]" ]

IN

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

SELECT
    *
FROM
    products p
WHERE
    p.category IN ("Accessories", "Clothing")

تلميح

إذا قمت بتضمين مفتاح القسم في عامل التصفية IN، فستتم تصفية استعلامك تلقائياً إلى الأقسام ذات الصلة فقط.

TOP

ترجع TOP الكلمة الأساسية العدد الأول N من نتائج الاستعلام بترتيب غير معرف. كأفضل ممارسة، استخدم TOP مع ORDER BY عبارة للحد من النتائج إلى العدد الأول N من القيم المطلوبة. الجمع بين هاتين العبارتين هو الطريقة الوحيدة للإشارة بشكل متوقع إلى الصفوف TOP التي تؤثر.

يمكنك استخدام TOP مع قيمة ثابتة، كما في المثال التالي، أو مع قيمة متغيرة باستخدام الاستعلامات ذات المعلمات.

SELECT TOP 10
    *
FROM
    products p
ORDER BY
    p.price ASC