الكلمات الأساسية في 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