إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
Databricks SQL
Databricks Runtime
إنشاء مجموعة نتائج من مرجع جدول واحد أو أكثر.
SELECT يمكن أن تكون العبارة جزءا من استعلام يتضمن أيضا تعبيرات الجدول الشائعة (CTE) وعمليات التعيين وعبارات أخرى مختلفة.
بناء الجملة
SELECT [ hints ] [ ALL | DISTINCT ] { named_expression | star_clause } [, ...]
FROM table_reference [, ...]
[ LATERAL VIEW clause ]
[ WHERE clause ]
[ GROUP BY clause ]
[ HAVING clause]
[ QUALIFY clause ]
named_expression
expression [ column_alias ]
star_clause
[ { table_name | view_name } . ] * [ except_clause ]
except_clause
EXCEPT ( { column_name | field_name } [, ...] )
المعلمات
-
تساعد التلميحات محسن Azure Databricks على اتخاذ قرارات تخطيط أفضل. يدعم Azure Databricks التلميحات التي تؤثر على اختيار استراتيجيات الانضمام وإعادة تقسيم البيانات.
كل
حدد كافة الصفوف المطابقة من مراجع الجدول. ممكَّن بشكل افتراضي.
متميزه
حدد كافة الصفوف المطابقة من مراجع الجدول بعد إزالة التكرارات في النتائج.
named_expression
تعبير باسم اختياري معين.
-
مزيج من قيمة واحدة أو أكثر وعوامل التشغيل ودالات SQL التي يتم تقييمها إلى قيمة.
-
معرف عمود اختياري يسمي نتيجة التعبير. إذا لم
column_aliasيتم توفير Databricks SQL، فيستمد واحد.
-
-
اختصار لتسمية كافة الأعمدة القابلة للرجوع إليها في العبارة
FROMأو أعمدة أو حقول مرجع جدول معين في العبارةFROM. -
مصدر إدخال ل
SELECT. يمكن تحويل مرجع الإدخال هذا إلى مرجع دفق باستخدامSTREAMالكلمة الأساسية قبل المرجع. -
يستخدم بالاقتران مع دوال المولد مثل
EXPLODE، والذي ينشئ جدولا ظاهريا يحتوي على صف واحد أو أكثر.LATERAL VIEWتطبيق الصفوف على كل صف إخراج أصلي.في Databricks SQL، وبدءا من Databricks Runtime 12.2 يتم إهمال هذه العبارة. يجب استدعاء دالة منشئ قيم الجدول كدالة table_reference.
-
تصفية نتيجة العبارة
FROMاستنادا إلى التقييمات المقدمة. -
التعبيرات المستخدمة لتجميع الصفوف. يتم استخدام هذا بالاقتران مع الدالات التجميعية (
MIN،MAX، ،COUNT،SUM،AVG) لتجميع الصفوف استنادا إلى تعبيرات التجميع والقيم التجميعية في كل مجموعة.FILTERعند إرفاق عبارة بدالة تجميعية، يتم تمرير الصفوف المطابقة فقط إلى تلك الدالة. -
دالات التقييم التي يتم من خلالها تصفية الصفوف التي يتم إنتاجها
GROUP BY.HAVINGيتم استخدام العبارة لتصفية الصفوف بعد تنفيذ التجميع. إذا قمت بتحديدHAVINGبدونGROUP BY، فإنه يشير إلىGROUP BYبدون تعبيرات تجميع (تجميع عمومي). -
دالات التقييم المستخدمة لتصفية نتائج دالات النافذة. لاستخدام
QUALIFY، يلزم وجود دالة نافذة واحدة على الأقل في قائمة SELECT أو عبارة QUALIFY.
تحديد على جدول Delta
بالإضافة إلى الخيارات القياسية SELECT ، تدعم جداول Delta خيارات السفر عبر الوقت الموضحة في هذا القسم. للحصول على التفاصيل، راجع العمل مع محفوظات جدول Delta Lake.
AS OF إعراب
table_identifier TIMESTAMP AS OF timestamp_expression
table_identifier VERSION AS OF version
timestamp_expressionيمكن أن يكون أي واحد من:'2018-10-18T22:15:12.013Z'، أي سلسلة يمكن تحويلها إلى طابع زمنيcast('2018-10-18 13:36:32 CEST' as timestamp)'2018-10-18'، أي سلسلة تاريخcurrent_timestamp() - interval 12 hoursdate_sub(current_date(), 1)- أي تعبير آخر يتم تحويله أو يمكن تحويله إلى طابع زمني
versionهي قيمة طويلة يمكن الحصول عليها من إخراجDESCRIBE HISTORY table_spec.
لا timestamp_expression يمكن ولا version الاستعلامات الفرعية.
مثال
> SELECT * FROM events TIMESTAMP AS OF '2018-10-18T22:15:12.013Z'
> SELECT * FROM events VERSION AS OF 123
@ إعراب
استخدم بناء الجملة @ لتحديد الطابع الزمني أو الإصدار. يجب أن يكون الطابع الزمني بالتنسيق yyyyMMddHHmmssSSS . يمكنك تحديد إصدار بعد @ عن طريق إلحاق بالإصدار v . على سبيل المثال، للاستعلام عن إصدار 123 الجدول events، حدد events@v123.
مثال
> SELECT * FROM events@20190101000000000
> SELECT * FROM events@v123
الأمثلة
-- select all referencable columns from all tables
> SELECT * FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
1 2 3 4
-- select all referencable columns from one table
> SELECT t2.* FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
3 4
-- select all referencable columns from all tables except t2.c4
> SELECT * EXCEPT(c4) FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
1 2 3
-- select all referencable columns from a table, except a nested field.
> SELECT * EXCEPT(c2.b) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
1 { "a" : 2 }
-- Removing all fields results in an empty struct
> SELECT * EXCEPT(c2.b, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
1 { }
-- Overlapping names result in an error
> SELECT * EXCEPT(c2, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
Error: EXCEPT_OVERLAPPING_COLUMNS
المقالات ذات الصلة
- عبارة CLUSTER BY
- تعبير الجدول الشائع (CTE)
- عبارة DISTRIBUTE BY
- عبارة GROUP BY
- عبارة HAVING
- عبارة التأهل
- تلميحات
- عبارة VALUES
- ينضم
- عبارة LATERAL VIEW
- عبارة LIMIT
- عبارة OFFSET
- عبارة ORDER BY
- عبارة PIVOT
- استفسار
- عبارة TABLESAMPLE
- تعيين عوامل التشغيل
- عبارة SORT BY
- عبارة نجمية
- دالة ذات قيمة جدول (TVF)
- مرجع الجدول
- عبارة UNPIVOT
- عبارة WHERE
- عبارة WINDOW
- دوال النافذة