تعبير SQL

ينطبق على:check marked yes Databricks SQL check marked yes Databricks Runtime

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

بناء الجملة

{ literal |
  named_parameter_marker |
  unnamed_parameter_marker |
  column_reference |
  field_reference |
  parameter_reference |
  CAST expression |
  CASE expression |
  expr operator expr |
  operator expr |
  expr [ expr ] |
  function_invocation |
  ( expr ) |
  ( expr, expr [, ... ] ) |
  scalar_subquery }

scalar_subquery
  ( query )

الأقواس الموجودة في expr [ expr ] هي أقواس فعلية ولا تشير إلى بناء جملة اختياري.

المعلمات

  • الحرفي

    قيمة حرفية لنوع موصوف في أنواع البيانات.

  • named_parameter_marker

    عنصر نائب مسمى ومكتب لقيمة توفرها واجهة برمجة التطبيقات التي ترسل عبارة SQL.

  • unnamed_parameter_marker

    عنصر نائب غير مسمى ومكتب لقيمة توفرها واجهة برمجة التطبيقات التي ترسل عبارة SQL.

  • column_reference

    مرجع إلى عمود في اسم مستعار لجدول أو عمود.

  • field_reference

    مرجع إلى حقل في نوع STRUCT.

  • parameter_reference

    مرجع إلى معلمة لدالة تعريف مستخدم SQL من مع نص الدالة. قد يستخدم المرجع الاسم غير المؤهل للمعلمة أو يتأهل الاسم باسم الدالة. تشكل المعلمات النطاق الخارجي عند حل المعرفات.

  • تعبير CAST

    تعبير يلقي الوسيطة إلى نوع مختلف.

  • تعبير CASE

    تعبير يسمح بالتقييم الشرطي.

  • expr

    تعبير نفسه الذي يتم دمجه مع operator، أو الذي هو وسيطة لدالة.

  • المشغل

    عامل تشغيل أحادي أو ثنائي.

  • expr [ expr ]

    مرجع إلى عنصر صفيف أو مفتاح خريطة.

  • function_invocation

    استدعاء دالة مضمنة أو معرفة من قبل المستخدم.

    راجع function_invocation للحصول على التفاصيل.

  • ( expr )

    الأسبقية المفروضة التي تتجاوز أسبقية عامل التشغيل.

  • ( expr, expr [, ... ] )

    struct إنشاء حقلين أو أكثر. هذا النص مرادف لدالة البنية.

  • scalar_subquery:

    • ( استعلام )

      تعبير يستند إلى استعلام يجب أن يرجع عمودا واحدا وصفا واحدا على الأكثر.

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

راجع العمود، الحقل، المعلمة، ودقة المتغير للحصول على مزيد من المعلومات حول تحليل الاسم.

تعبير ثابت

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

تعبير منطقي

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

الاستعلام الفرعي العددي

تعبير عن النموذج ( query ). يجب أن يرجع الاستعلام جدولا يحتوي على عمود واحد وصف واحد على الأكثر.

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

تعبير بسيط

تعبير لا يحتوي على query، مثل استعلام فرعي عددي أو دالة EXISTS تقييم.

الأمثلة

> SELECT 1;
  1

> SELECT (SELECT 1) + 1;
  2

> SELECT 1 + 1;
  2

> SELECT 2 * (1 + 2);
  6

> SELECT 2 * 1 + 2;
  4

> SELECT substr('Spark', 1, 2);
  Sp

> SELECT c1 + c2 FROM VALUES(1, 2) AS t(c1, c2);
  3

> SELECT a[1] FROM VALUES(array(10, 20)) AS T(a);
  20

> SELECT true;
  true

> SELECT (c1, (c2, c3)) FROM VALUES(1, 2, 3) AS T(c1, c2, c3);
  {"c1":1,"col2":{"c2":2,"c3":3}}